Dubbo一致性哈希遇到的坑
关于dubbo的负载均衡策略已经有太多blog介绍了,这里说一下我在使用dubbo一致性哈希负载均衡策略时候遇到的一个坑。
关于dubbo的负载均衡策略已经有太多blog介绍了,这里说一下我在使用dubbo一致性哈希负载均衡策略时候遇到的一个坑。
Curator是一个Zookeeper的客户端库,是一个分布式协调服务,来帮助你管理zookeeper的连接,减少使用zookeeper的复杂性。 它包含了一套高级API和通用的utilities,提供了一些recipes(如lock,barriers和cache等)和操作(如create, delete, getData等), 这些都使得编写的应用可以更加鲁棒。
Zookeeper client通过创建一个session与Zookeeper server通信,如果与某一台server的连接断了,session会转移到与另一台server建立的连接。通过org.apache.zookeeper.Zookeeper类构建zookeeper session
Zookeeper(
String connectString, // servers address e.g.: "127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183"
int sessionTimeout, // session timeout in millisecond
Watcher watcher // 用来接收session event, watcher是接口,需要传递一个实现接口的实例化object
)
一般设计一个分布式协同服务都会提供一组primitives的列表,对于每个primitive暴露一些接口来创建实例,比如分布式锁可以作为一个primitive, 它暴露了一些接口如create, acquire, release等。这种设计会存在一些问题:1)扩展性差,需要提供大量的primitives,还要不断扩展API; 2)灵活性差,对于不同应用适用性会差的较多
从apache zookeeper官网上获取zookeeper
https://www.apache.org/dyn/closer.cgi/zookeeper/