Open neverchanje opened 5 years ago
Pegasus 此前是如何做可靠性测试的?
kill test
simulator test
production test
doc: https://github.com/jepsen-io/jepsen/blob/master/doc/tutorial/05-nemesis.md
nemesis 作为特殊的 client 对集群注入错误,扮演一个无敌破坏王 Ralph 的角色。Pegasus 就像阿修需要修复所有错误。
有这样几种测试可供选择:
nemesis 实现网络分区的基本原理就是用 linux traffic control 工具,与社区工具 comcast,pumba 无二致。但对于一个 “powerful” 的正确性测试框架而言,
检查数据库的结果是否符合 ”操作历史“(history)。
Jepsen 的运行线程是固定的。
web server see jepsen.cli.serve-cmd
jepsen.cli.serve-cmd
READ 不影响 database 的一致性,所以读失败可以不 crash。通常来讲超时也应该不 crash。
Pegasus 此前是如何做可靠性测试的?
kill test
simulator test
production test
Nemesis
doc: https://github.com/jepsen-io/jepsen/blob/master/doc/tutorial/05-nemesis.md
nemesis 作为特殊的 client 对集群注入错误,扮演一个无敌破坏王 Ralph 的角色。Pegasus 就像阿修需要修复所有错误。
有这样几种测试可供选择:
nemesis 实现网络分区的基本原理就是用 linux traffic control 工具,与社区工具 comcast,pumba 无二致。但对于一个 “powerful” 的正确性测试框架而言,
Checker
检查数据库的结果是否符合 ”操作历史“(history)。
Jepsen
Jepsen 的运行线程是固定的。
web server see
jepsen.cli.serve-cmd
READ 不影响 database 的一致性,所以读失败可以不 crash。通常来讲超时也应该不 crash。