gpt4 book ai didi

akka-cluster - 使用akka cluster multi-jvm testkit模拟网络分区

转载 作者:行者123 更新时间:2023-12-01 16:00:25 32 4
gpt4 key购买 nike

我正在尝试为 akka 集群构建一个大脑 split 解析器。但是很难模拟某些节点无法从原始集群的其余部分访问并形成自己的集群的场景。

不能通过停止和重启节点来完成,因为新启动的节点不是同一个节点,因为这些节点的 UID 已经改变。

network failure injection in test conductor 似乎很有前途,但我没有找到任何关于它的文档。那么,如何创建网络分区场景?

最佳答案

我最近在编写裂脑解析器,这些是测试的技巧,我发现它们很有用:

  • 在进行完全模拟之前,可能值得用单元测试来覆盖部分代码。 Akka 项目自己制作something similar用于 AutoDown 功能。您只需模拟事件并将消息发送到 DowningProvider 并检查它是否相应地回复。它有助于在没有复杂设置的情况下测试一些极端情况。

  • 为了模拟集群和网络 split ,我使用了 multi-jvm testing .查看 Akka 的 SplitBrainSpecWeeklyUpSpec .它们有时比文档更有帮助。要创建网络拆分,应使用 testConductor.blackhole 并删除拆分 testConductor.passThrough。我发现始终设置障碍并不断检查当前集群状态很重要(在运行实际测试之前等待所有成员启动/加入集群/查看网络拆分)。

关于akka-cluster - 使用akka cluster multi-jvm testkit模拟网络分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33643053/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com