无缺点的协调
为了克服 ZooKeeper 的一些缺点,我们从头开始构建了一个 ClickHouse 原生的 Keeper,基于我们自己的需求,并针对 ClickHouse 的使用进行了优化。
更简单的设置和操作
无溢出问题
更好的压缩
更快的恢复
更少的内存使用
额外的保证
ZooKeeper 的替代品?
Keeper 是用 C++ 编写的 ZooKeeper 的替代品,具有完全兼容的客户端协议和相同的数据模型,并具有以下改进
兼容的客户端协议(所有客户端开箱即用)
相同的状态机(数据模型)
更好的保证(可以选择线性化读取)
使用 Raft 算法(NuRaft 实现)
客户端和内部通信可选 TLS
何时使用 ClickHouse Keeper?
- 大多数请求都是写入操作
- 高效的内存利用率很重要
- 您的项目不属于 Java 生态系统
- 您正在管理 ClickHouse 集群
何时不使用 ClickHouse Keeper?
- 大多数请求都是读取操作
- 您需要在读密集型工作负载下进行扩展
- 基于 Java 的组件对您很重要
使用 RAFT 保持系统稳定
ZooKeeper 实现
ZooKeeper 使用 Java 实现,其协调算法 ZooKeeper Atomic Broadcast (ZAB) 无法为读取操作提供线性化保证。
ClickHouse Keeper 实现
与 ZooKeeper 不同,ClickHouse Keeper 使用 C++ 编写,并使用 RAFT 算法实现。此算法允许对读取和写入操作进行线性化,并且在不同的语言中有多种开源实现。
Apache、Apache ZooKeeper 和 ZooKeeper 徽标是 Apache 软件基金会的商标。
随时了解功能发布、产品路线图、支持和云产品信息!
正在加载表单...