项目简介
本项目是一个基于Raft算法的分布式系统实现,主要用于构建高可用、强一致性的分布式集群。项目包含Raft服务器集群、Config配置生成器和Tester测试器三个主要部分。Raft服务器集群负责分布式系统的核心功能,Config配置生成器用于自动生成集群配置文件,Tester测试器则用于验证集群的正确性和性能。
项目的主要特性和功能
- Raft服务器集群:由3个及以上服务器构成,支持日志复制、领导者选举等分布式系统核心功能。
- Config配置生成器:自动生成IP配置文件,可根据参数生成不同数量的集群配置文件。
- Tester测试器:自动生成测试指令,检测服务器集群响应指令的正确性与速度,支持自定义测试需求。
- 多种运行方式:支持源码运行、jar包运行和shell脚本运行。
- 指令支持:支持SET、DEL、GET等基本指令,用于操作分布式系统中的键值对。
安装使用步骤
环境准备
- 编译器:IntelliJ IDEA 2020.1
- 系统:Windows 64位
- Java版本:Java11
源码运行
- 创建工程:将
src
文件夹下的文件作为源文件加入工程,或用IntelliJ IDEA直接打开整个工程文件夹。 - 配置文件:参考
.conf
文件编写,或用Config配置生成器自动配置。 - 工程配置:
- Config:主类设为
conf.Config
,运行参数为-n <数量>
。 - Server:主类设为
raft.Main
,运行参数为--config_path <配置文件路径>
。 - Tester:主类设为
tester.TestMain
,运行参数为--config_path <配置文件路径>
。
- Config:主类设为
- 运行顺序:
- 可选择运行Config配置器,也可自行编写
.conf
配置文件。 - 运行Raft服务器集群(至少运行一半及以上)。
- 运行Tester测试器。
- 可选择运行Config配置器,也可自行编写
jar包运行
- 进入jar文件夹:打开命令行窗口,进入
Raft_linmo/jar
文件夹。 - 运行Config配置器:输入
java -jar config.jar -n <数量>
。 - 运行Server:每个Server在新命令行窗口输入
java -jar raft.jar --config_path <配置文件路径>
。 - 运行Tester测试器:输入
java -jar tester.jar --config_path <配置文件路径>
。
shell脚本运行
- 进入jar文件夹:打开命令行窗口,进入
Raft_linmo/jar
文件夹。 - 运行脚本:输入
./raft.sh
。 - 输入集群数量:按提示输入。
- 输入测试指令数量:按提示输入后开始测试。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】