问题
答案
clickhouse-keeper,为数千个服务提供支持。我们设计并构建 Keeper,是为了摆脱对基于 Java 的 ZooKeeper 实现的依赖。ClickHouse Keeper 解决了 ZooKeeper 的许多已知缺陷,并进一步改进了以下方面:
- 由于采用了更高效的压缩,快照和日志占用的磁盘空间大幅减少
- 默认的数据包和节点数据大小没有限制 (ZooKeeper 中为 1 MB)
- 不存在
zxid溢出问题 (ZooKeeper 中每处理 20 亿个事务就会被迫重启一次) - 由于采用了更优的分布式共识协议,在发生网络分区后恢复更快
- 在相同数据量下,内存占用更少
- 更容易设置,且无需指定 JVM 堆大小或自定义垃圾回收实现
- 协议中的一些自定义命令可让
ReplicatedMergeTree表的操作更快 - Jepsen 测试覆盖范围更广
clickhouse-keeper 的站点集群问题明显减少。
更多关于如何配置和运行 ClickHouse Keeper 的信息,请参阅 Keeper 文档页面。