Chandy-Lamport分布式快照
介绍
该算法进行以下假设:
没有失败,所有消息都完整无缺地到达了一次 通信通道为单向且FIFO排序 (先进先出) 系统中任何两个进程之间都有一条通信路径 任何进程都可以启动快照算法 快照算法不会干扰进程的正常执行 系统中的每个进程都记录其本地状态和传入通道的状态 软件 您将在此目录下找到代码。该代码的组织方式如下:
-
server.go:分布式算法中的进程
-
simulator.go:离散时间仿真器
-
logger.go:一个记录器,记录由系统执行的事件(用于调试)
-
common.go:服务器,记录器和模拟器中使用的调试标志和常见消息类型
-
snapshot_test.go:测试
-
syncmap.go:线程安全映射的实现(同步的map)
-
queue.go:使用Go中的列表实现的简单队列接口
-
test_common.go:用于测试的辅助函数
-
test_data /:测试用例输入和预期结果