文件名称:chat_with_paxos:使用共识协议 Paxos 和 Golang 的简单聊天系统
文件大小:8.51MB
文件格式:ZIP
更新时间:2024-07-20 20:49:07
Go
写上去: 四个组成部分, 客户端 - 命令行中的聊天窗口,供用户与其他客户端通信 负载均衡器 - 将客户端路由到占用最少的服务器 服务器 - 每个服务器维护一个复制日志并通过paxos与其他服务器通信 Paxos 对象 - 嵌入在服务器中的对象,允许服务器 服务器数量存储在 loadbalancerrpc/proto.go 中的 InitCliNum = 3 中 一切都假设负载均衡器不会失败并且一直在运行(负载均衡器路由器) 首先,负载均衡器等待所有服务器连接。 全部连接后,开始为客户端提供服务 如果另一个具有不同 ID 的服务器在初始化后尝试连接到该服务器,则不允许。 所有服务器都保留日志。 日志是 key:round 到 value: 提交的字符串的映射 每个提交的轮次都是唯一的。 节点故障/节点恢复 让有 2f+1 个服务器 如果超过 f 个服务器失败 (>=f+1),那么一
【文件预览】:
chat_with_paxos-master
----pkg()
--------darwin_amd64()
--------linux_amd64()
----.DS_Store(6KB)
----src()
--------.DS_Store(6KB)
--------github.com()
----README.md(5KB)
----bin()
--------crunner(8.4MB)
--------.DS_Store(6KB)
--------test1(8.4MB)
--------srunner(8.51MB)
--------lrunner(8.36MB)