文件名称:cornerstone:筏共识的C ++实现
文件大小:111KB
文件格式:ZIP
更新时间:2024-05-21 03:25:57
C++
基石 一个非常轻巧但完整的Raft Consensus C ++实现,由发布,他同意,我们重新组织了他的源代码,并在相同的许可证下重新发布。 为了尊重Andy Chen的工作,我们将继续使用基石作为项目的名称,并将根据他的工作开始进行迭代。 注意 fs_log_store不适用于生产 用户数 特征 核心算法,基于TLA +规范实现(尽管该规范没有计时器模块) 支持配置更改,添加或删除服务器没有任何限制 日志压缩 紧急提交,如果提交索引提前,则领导者可以要求其他所有对等方提交一个或多个日志 客户端请求支持,对于每台服务器,状态机都可以获得一个筏式共识客户端,以将请求发送给领导者,因此不需要领导者更改侦听器。 从哪儿开始? 此实现的主要优势或不利之处在于,它没有与筏共识本身无关的任何其他代码。 这意味着它没有状态机,而状态机可能是存储服务。 它也几乎没有依赖项,只有STL和as
【文件预览】:
cornerstone-master
----.gitignore(165B)
----src()
--------peer.cxx(1KB)
--------cluster_config.cxx(2KB)
--------snapshot_sync_req.cxx(2KB)
--------buffer.cxx(7KB)
--------raft_server_req_handlers.cxx(22KB)
--------fs_log_store.cxx(27KB)
--------snapshot.cxx(1KB)
--------asio_service.cxx(23KB)
--------raft_server_resp_handlers.cxx(15KB)
--------raft_server.cxx(34KB)
--------srv_config.cxx(1KB)
----LICENSE_1_0.txt(1KB)
----LICENSE(11KB)
----.gitmodules(81B)
----.github()
--------workflows()
----asio()
----README.md(4KB)
----cmake()
--------cornerstone-config.cmake.in(547B)
----tests()
--------src()
--------Makefile.win(3KB)
--------Makefile.lx(722B)
--------Makefile.mac(723B)
--------Makefile.bsd(688B)
--------sources(731B)
----include()
--------strfmt.hxx(1KB)
--------rpc_cli.hxx(985B)
--------srv_role.hxx(786B)
--------rpc_cli_factory.hxx(889B)
--------rpc_exception.hxx(1KB)
--------log_entry.hxx(3KB)
--------peer.hxx(5KB)
--------msg_type.hxx(1KB)
--------basic_types.hxx(967B)
--------log_store.hxx(3KB)
--------raft_server.hxx(6KB)
--------resp_msg.hxx(1KB)
--------delayed_task.hxx(2KB)
--------rpc_listener.hxx(993B)
--------srv_config.hxx(1KB)
--------cluster_config.hxx(2KB)
--------req_msg.hxx(2KB)
--------ptr.hxx(1KB)
--------msg_base.hxx(1KB)
--------context.hxx(2KB)
--------asio_service.hxx(2KB)
--------pp_util.hxx(1KB)
--------log_val_type.hxx(858B)
--------fs_log_store.hxx(5KB)
--------state_machine.hxx(2KB)
--------buffer.hxx(1KB)
--------delayed_task_scheduler.hxx(1KB)
--------snapshot.hxx(2KB)
--------raft_params.hxx(6KB)
--------logger.hxx(1016B)
--------events.hxx(981B)
--------state_mgr.hxx(1KB)
--------timer_task.hxx(1KB)
--------srv_state.hxx(2KB)
--------snapshot_sync_req.hxx(1KB)
--------cornerstone.hxx(2KB)
--------async.hxx(3KB)
--------snapshot_sync_ctx.hxx(1KB)
----Makefile.win(3KB)
----Makefile.lx(758B)
----Makefile.mac(776B)
----msvc()
--------cornerstone.vcxproj(9KB)
--------cornerstone.vcxproj.filters(7KB)
--------cornerstone.sln(1KB)
----Makefile.bsd(705B)
----CMakeLists.txt(6KB)
----sources(683B)