RaftKeeper 开源项目教程
1. 项目介绍
RaftKeeper 是一个高性能的分布式共识服务,完全兼容 Zookeeper,并且可以通过 Zookeeper 客户端进行访问。它实现了 Zookeeper 的大部分功能(除了 Container 节点、TTL 节点、quota 等),并提供了一些额外的功能,如更多的监控指标、手动 Leader 切换等。RaftKeeper 提供了与 Zookeeper 相同的一致性保证,所有提交的写请求在所有会话中都必须按顺序处理。
RaftKeeper 的数据存储在内存中,同时通过快照和操作日志提供强大的数据持久化能力。为了提高系统效率,执行框架采用了流水线和批处理的方式,显著提高了整体吞吐量。RaftKeeper 是用 C++ 编写的,经过大量的底层优化,确保其在高负载下仍能高效运行。
2. 项目快速启动
2.1 环境准备
- Ubuntu 20.04+
- Clang 13+(推荐使用 Clang 17)
- CMake 3.20+
2.2 构建 RaftKeeper
# 安装必要的工具
sudo apt-get install cmake llvm-17
# 克隆项目
git clone https://github.com/JDRaftKeeper/RaftKeeper.git
cd RaftKeeper
# 初始化子模块
git submodule sync && git submodule update --init --recursive
# 设置编译器
export CC=`which clang-17`
export CXX=`which clang++-17`
# 构建项目
/bin/bash build.sh
# 构建用于 ClickHouse 使用的版本(如果需要)
/bin/bash build.sh 'clickhouse'
# 构建文件位于 'build/' 目录下
2.3 部署 RaftKeeper
要部署 RaftKeeper 集群,请参考 how-to-deploy 文档。
2.4 访问 RaftKeeper
你可以使用 Zookeeper 的 shell 客户端 zkCli.sh 来访问 RaftKeeper,或者使用 Java、Python 或 C 的 Zookeeper 客户端。
# 使用 zkCli.sh 访问 RaftKeeper
./zkCli.sh -server localhost:8101
3. 应用案例和最佳实践
3.1 ClickHouse 场景
RaftKeeper 在 ClickHouse 场景中被大规模应用,用于解决 Zookeeper 的性能瓶颈问题。RaftKeeper 提供了更高的吞吐量和更低的延迟,使得 ClickHouse 集群能够处理更多的元数据请求,从而提高整体性能。
3.2 HBase 场景
在 HBase 场景中,RaftKeeper 支持高达 30 万客户端的同时连接,提供更低且更稳定的延迟,确保 HBase 服务更快更稳定。
3.3 其他应用场景
RaftKeeper 还适用于集群管理、节点协调、配置中心、命名服务等场景,提供高可用性和高性能的分布式协调服务。
4. 典型生态项目
4.1 ClickHouse
ClickHouse 是一个开源的列式数据库管理系统,广泛用于大数据分析。RaftKeeper 作为 ClickHouse 的元数据存储服务,提供了高性能和高可用性,确保 ClickHouse 集群的稳定运行。
4.2 HBase
HBase 是一个分布式的、面向列的开源数据库,基于 Hadoop 文件系统。RaftKeeper 在 HBase 中用于协调和管理分布式节点,提供高可用性和低延迟的服务。
4.3 Kafka
Kafka 是一个分布式流处理平台,RaftKeeper 可以用于 Kafka 集群的协调和管理,确保消息队列的高效运行。
通过以上模块的介绍,你可以快速了解 RaftKeeper 的基本信息、如何快速启动和部署,以及它在不同应用场景中的最佳实践和典型生态项目。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
LongCat-AudioDiT-1BLongCat-AudioDiT 是一款基于扩散模型的文本转语音(TTS)模型,代表了当前该领域的最高水平(SOTA),它直接在波形潜空间中进行操作。00- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
HY-Embodied-0.5这是一套专为现实世界具身智能打造的基础模型。该系列模型采用创新的混合Transformer(Mixture-of-Transformers, MoT) 架构,通过潜在令牌实现模态特异性计算,显著提升了细粒度感知能力。Jinja00
FreeSql功能强大的对象关系映射(O/RM)组件,支持 .NET Core 2.1+、.NET Framework 4.0+、Xamarin 以及 AOT。C#00