littlebot
Published on 2025-04-18 / 1 Visits
0

【源码】基于Raft算法的分布式系统

项目简介

本项目是一个基于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

源码运行

  1. 创建工程:将src文件夹下的文件作为源文件加入工程,或用IntelliJ IDEA直接打开整个工程文件夹。
  2. 配置文件:参考.conf文件编写,或用Config配置生成器自动配置。
  3. 工程配置
    • Config:主类设为conf.Config,运行参数为-n <数量>
    • Server:主类设为raft.Main,运行参数为--config_path <配置文件路径>
    • Tester:主类设为tester.TestMain,运行参数为--config_path <配置文件路径>
  4. 运行顺序
    • 可选择运行Config配置器,也可自行编写.conf配置文件。
    • 运行Raft服务器集群(至少运行一半及以上)。
    • 运行Tester测试器。

jar包运行

  1. 进入jar文件夹:打开命令行窗口,进入Raft_linmo/jar文件夹。
  2. 运行Config配置器:输入java -jar config.jar -n <数量>
  3. 运行Server:每个Server在新命令行窗口输入java -jar raft.jar --config_path <配置文件路径>
  4. 运行Tester测试器:输入java -jar tester.jar --config_path <配置文件路径>

shell脚本运行

  1. 进入jar文件夹:打开命令行窗口,进入Raft_linmo/jar文件夹。
  2. 运行脚本:输入./raft.sh
  3. 输入集群数量:按提示输入。
  4. 输入测试指令数量:按提示输入后开始测试。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】