我已经浏览了etcd3最新版本(2016年6月30日发布)的文档比 etcd2
有许多改进。
它包括,
- 通过单个 TCP 连接进行多路流式传输观看
- 增量快照以避免创建快照时性能下降。
- grpc 调用以提高客户端性能
- 多路传输流租赁以减少网络使用。
说到apache curator写在 apache zookeeper 之上,它的优点是它是一个可靠、成熟的项目,有许多活跃的客户在生产中使用它。
Zookeeper 每个监视使用单独的 tcp 连接,并且每个租约使用单独的 tcp 连接。此外,zookeeper 的监视服务每个监视请求仅通知一个事件,如果我们要连续监视特定节点,则必须发出另一个监视请求。由于 etcd3 使用多路复用流,因此不会因过多的 TCP 连接而耗尽网络。
此外,etcd3
和zookeeper
使用两种不同的算法来达成共识,ZAB
和raft
,其中 raft 不太复杂。
我想实现distributed locks, (use) watches and need to write a mechanism to share commands throughout the cluster using the watch api
。该实现将插入到用 java 编写的 ESB 中。
现在我的问题是,我应该选择其中哪一个(curator/etcd3)来实现,为什么?
我希望看到一个很好的解释,因为我找不到这两种实现的直接比较。
提前致谢!
最佳答案
由于我找不到好的答案,所以我对这两个方案进行了一些搜索并写道 Apache Zookeeper vs etcd3 。希望这能帮助其他也有我的问题的人。
关于java - apache curator与etcd3详细对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39847361/