# dubbo-raft
### 基于Dubbo框架的raft算法库
这是个人试验性项目(参考百度BRAFT与蚂蚁SOFA-JRAFT),功能追求完整,但性能无法保证,会持续更新。
- ✅ ~~目前在开发rpc层~~
- ✅ ~~完成Dubbo-Raft客户端~~
- ✅ ~~基本完成rpc层,开始写选举~~
- ❗️ 已支持multi-raft,「分布式KV储存」*在做了!在做了!(已创建文件夹)*
- 完成选举闭环,且冒烟通过,还需更多的测试
- 日志复制
- ✅ ~~完成Leader日志落地~~
- ✅ ~~基本完成状态机功能~~
- ✅ ~~完成Pipeline优化~~
- ✅️ ~~完成Read Index~~
- ✅ 完成日志复制功能,但未完成全部测试(包括以下未开发的功能)
- ⭕️ 配置变更,待开发
- ☑️ 日志压缩(快照)开发中,未测试哈哈哈,别急
- ✅ 完成本地快照save & load
- ✅ 完成远程快照save & load
- 增加计数器示例
- 增加disruptor处理client发送的任务
- ⁉️调研百度的bthread,看是否能用java实现,替代disruptor,原因是后者无法做event之间通信调度
- 增加RocksDB做为日志存储
- 🚩🚩🚩🚩立个flag,看到底会不会去实现哈哈哈🚩🚩🚩🚩
- 计划实现SegmentLog,分段存储
- KV存储动态分片
- 无状态机版Raft
- 基于AMQP的分布式消息队列
- #### 分布式KV存储 Raft-Slime, DQ里等级最低的怪,也是KV存储界最菜的哈哈哈哈。
![史莱姆](https://raw.githubusercontent.com/zehonghuang/github_blog_bak/master/source/image/SMMDQSSD_-_Rocket.png)
- 相关文献 & 其他拓展
《[CONSENSUS: BRIDGING THEORY AND PRACTICE](https://web.stanford.edu/~ouster/cgi-bin/papers/OngaroPhD.pdf)》
《[In Search of an Understandable Consensus Algorithm](https://raft.github.io/raft.pdf)》
《[PacificA: Replication in Log-Based Distributed Storage Systems](https://www.microsoft.com/en-us/research/publication/pacifica-replication-in-log-based-distributed-storage-systems/)》
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 基于Dubbo框架的raft算法库资料齐全+详细文档.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于Dubbo框架的raft算法库资料齐全+详细文档.zip (213个子文件)
.gitignore 328B
LocalFileMetaOutter.java 131KB
LogOutter.java 47KB
NodeImpl.java 44KB
Replicator.java 26KB
RpcRequests.java 24KB
UnsafeUtil.java 23KB
LogManagerImpl.java 21KB
UnsafeUtf8Util.java 20KB
SnapshotExecutorImpl.java 17KB
LocalSnapshotCopier.java 12KB
RocksDBLogStorage.java 11KB
FSMCallerImpl.java 10KB
ReadOnlyServiceImpl.java 9KB
SegmentList.java 9KB
LocalSnapshotStorage.java 9KB
CRC64.java 7KB
AppendEntriesRpcImpl.java 7KB
Lists.java 7KB
CopySession.java 7KB
Utils.java 6KB
Bytes.java 6KB
BallotBox.java 6KB
RocksDBOptionsFactory.java 5KB
AbstractRpcClient.java 5KB
LocalSnapshotMetaTable.java 5KB
SystemPropertyUtil.java 5KB
RouteTable.java 5KB
UniqueIdUtil.java 4KB
ReplicatorOptions.java 4KB
PeerId.java 4KB
LocalSnapshotWriter.java 4KB
ReplicatorGroupImpl.java 4KB
ReentrantTimer.java 4KB
RpcServer.java 3KB
ProtobufMsgFactory.java 3KB
RaftOptions.java 3KB
CounterStateMachine.java 3KB
NodeOptions.java 3KB
NetUtil.java 3KB
Ballot.java 3KB
CounterClient.java 3KB
Requires.java 3KB
LocalSnapshotReader.java 3KB
ProtoBufFile.java 3KB
ProtoLogEntryDecoder.java 3KB
IteratorImpl.java 3KB
RpcClient.java 3KB
CounterRaftServerStartup.java 3KB
ReplicatorGroupOptions.java 3KB
ClientRequestRpcImpl.java 3KB
RemoteFileCopier.java 3KB
RpcRemoteOptions.java 3KB
ProtoLogEntryEncoder.java 2KB
CounterServiceImpl.java 2KB
DisruptorBuilder.java 2KB
ArrayDeque.java 2KB
Ints.java 2KB
NodeManager.java 2KB
ByteBufferCollector.java 2KB
CallbackQueueImpl.java 2KB
Bits.java 2KB
LogId.java 2KB
Region.java 2KB
LogManager.java 2KB
NodeId.java 2KB
RpcOptions.java 2KB
FSMCallerOptions.java 2KB
Peer.java 2KB
RaftMetaStorageImpl.java 2KB
ObjectLock.java 2KB
LogManagerOptions.java 2KB
ClientService.java 2KB
CrcUtil.java 2KB
Endpoint.java 2KB
Configuration.java 2KB
DefaultSlimeRpcServer.java 2KB
LogExceptionHandler.java 2KB
ReadIndexRpcImpl.java 2KB
Status.java 2KB
LogEntry.java 1KB
RaftServerStartup.java 1KB
RegionEpoch.java 1KB
ClientRequests.java 1KB
InstallSnapshotRpcImpl.java 1KB
SnapshotCopierOptions.java 1KB
SnapshotExecutorOptions.java 1KB
CountDownEvent.java 1KB
ResponseCallbackAdapter.java 1KB
SnapshotMeta.java 1KB
Platform.java 1KB
RegionRouteTableOptions.java 1KB
CounterSnapshotFile.java 1KB
IteratorWrapper.java 1KB
RaftGroupService.java 1KB
TestRequestVoteRpcClient.java 1KB
AsciiStringUtil.java 1KB
LocalFileMeta.java 1KB
CounterCallback.java 1KB
NamedThreadFactory.java 1KB
共 213 条
- 1
- 2
- 3
资源评论
Yuki-^_^
- 粉丝: 3112
- 资源: 4587
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 深圳建筑工程公司分包工程管理制度.docx
- 深圳建筑工程公司管理人员行为准则.docx
- 深圳建筑工程公司管理手册(100页).docx
- 深圳建筑工程公司计算机和网络管理制度.docx
- 深圳建筑工程公司经营预算管理制度.docx
- 深圳建筑工程公司生产管理制度.docx
- 深圳建筑公司会议管理制度.docx
- 深圳建筑公司保密管理制度.docx
- 深圳建筑公司信息管理制度.docx
- 深圳建筑工程公司项目考核管理制度.docx
- 深圳建筑工程经营计划管理制度.docx
- 基于Python OpenCV实现的答题卡识别判卷源代码+报告+答辩PPT
- 2206.11253v2.pdf
- 汇编语言基础:搭建与配置DOSBox环境及汇编、链接、调试的基本步骤
- MUC汇编语言中的简单算术运算程序设计与调试
- 汇编语言实验:探索字符输入输出与数据转换技术
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功