Maelstrom分布式系统练习项目
Maelstrom 是一个通过自己编写来学习分布式系统的工作台。它使用 Jepsen 测试库来测试分布式系统的实现。 Maelstrom 为“交换集”或“交易键值存储”等事物提供标准化测试,并让用户通过编写可以执行的测试套件来学习分布式系统。
Maelstrom 为不同类型的分布式系统提供一系列测试,通过 STDIN 和 STDOUT 建立在简单的 JSON 协议之上。用户用任何语言编写服务器。 Maelstrom 运行这些服务器,向它们发送请求,通过模拟网络路由消息,并检查客户端是否遵守预期行为。
Maelstrom 的工具允许用户试验模拟延迟和消息丢失。每个测试都包括并发结构的时间线可视化、消息交换的统计数据、时间序列图以了解延迟、可用性和吞吐量如何响应不断变化的条件,以及 Lamport 图,以便您可以准确了解消息如何流经您的系统。 Maelstrom 的检查器可以验证复杂的安全属性直至严格的可串行化,并生成直观的、最小的一致性异常示例。
Maelstrom 可以帮助您对系统如何响应不同的集群大小、网络拓扑、延迟分布和网络分区等故障进行建模。提供模拟服务,可以使用这些服务来构建更复杂的系统。
Maelstrom 速度相当快,可以处理 25 个以上节点的模拟集群。在 48 路 Xeon 上,它可以使用所有内核的 94%,每秒推送超过 60,000 条网络消息。
评论