首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用akka集群多jvm测试包模拟网络分区

使用akka集群多jvm测试包模拟网络分区
EN

Stack Overflow用户
提问于 2015-11-11 10:01:03
回答 1查看 233关注 0票数 3

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

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

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

EN

回答 1

Stack Overflow用户

发布于 2019-08-12 13:49:25

我最近在写split brain resolver,这些是测试的技巧,我发现它们很有用:

  • 在进行完整的模拟之前,也许有必要用单元测试来覆盖代码的某些部分。Akka项目本身为AutoDown特性制作了something similar。您只需模拟事件并将消息发送到DowningProvider,然后检查它是否相应地进行回复。它有助于在没有复杂设置的情况下测试一些角落案例。
  • 为了模拟集群和网络拆分,我使用multi-jvm testing。看看Akka的SplitBrainSpecWeeklyUpSpec吧。它们有时比文档更有帮助。要创建网络,应使用split testConductor.blackhole并删除split testConductor.passThrough。我发现始终设置屏障并不断检查当前集群状态很重要(在运行实际测试之前,等待所有成员启动/加入集群/查看网络拆分)。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33643053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档