当前位置:  开发笔记 > 编程语言 > 正文

仿真网络断开连接以本地测试分布式应用程序分区

如何解决《仿真网络断开连接以本地测试分布式应用程序分区》经验,为你挑选了0个好方法。

我有几个在localhost上运行的分布式应用程序实例; 每个实例都通过某些端口与其他实例进行通信,所有实例共同构成一个整体.(我实际上是在谈论在Linux上运行的ZooKeeper)

现在我想编写单元测试来模拟整体分区.
例如,我有5个实例,我想将它们分成两组,每组3和2,以便一个组中的实例无法与另一个组中的实例进行通信.当3台机器在一个数据中心,2台机器在另一台数据中心,数据中心被分区时,它将模拟真实情况.

问题主要是使套接字选择性地工作:与一个套接字说话,但不要与另一个套接字说话.我想到的一个解决方案是抽象通信层并将测试规则注入其中(以"如果我是来自一个组的实例我不允许与另一个组的实例对话 - 关闭套接字"的形式或忽略数据或其他任何").

但也许存在一些工具,可能是一些测试框架?一般来说,您如何在分布式应用程序中测试此类案例?


PS尽管问题被标记为"java"(因为ZooKeeper是用Java编写的),但是听到任何其他语言的解决方案,或者语言独立的解决方案 - 可能是一些Linux大师技巧,真是太棒了.

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有