没有缺点的协调
为了克服 ZooKeeper 的一些缺点,我们从头开始基于自身需求构建了 ClickHouse 原生 Keeper,并针对 ClickHouse 中的使用进行了优化。
更易于设置和操作
没有溢出问题
更好的压缩
更快的恢复
更少的内存使用
额外的保证
ZooKeeper 的替代品?
Keeper 是 ZooKeeper 的直接替代品,用 C++ 编写,具有完全兼容的客户端协议和相同的数据模型,并具有以下改进
兼容的客户端协议(所有客户端开箱即用)
相同的状态机(数据模型)
更好的保证(可选地允许线性化读取)
使用 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 Software Foundation 的商标。
随时了解功能发布、产品路线图、支持和云服务!
正在加载表单...