在Linux上模仿分布式系统的大多数轻量级方法



因此,我正在参加此分布式系统类,其中通过使用Android和多个模拟器模拟分布式系统来完成项目。由于多种原因,这种方法很糟糕:

  1. Android仿真器太过耗资了,我可怜的笔记本电脑主要崩溃了。
  2. 模拟器之间的网络支持差。需要在TCP上进行端口转发。

那么,在我的Linux机器上模拟分布式系统的方法是什么,该系统消耗了最少的资源,主要是RAM和CPU时间?

Docker是所有这些的答案吗?也许为每个创建具有单独的IP的多个容器?这是可能的吗?

我的团队维护了几个生产分布式系统;我们必须以一种可以捕获协议错误的方式进行测试。

我们对我们注入类的时钟和网络的存根实现。网络模拟了许多分布式系统论文中使用的消息传递模型:随机选择消息并交付。这对网络潜伏期和不一致的构造非常好。我们还内置了其他内容:能够封锁/释放或从主机组中封锁/发布消息;和一个简单的TCP模型。

使用此简单的添加,我们的单元测试现在是我们所说的交互测试。我们可以很快添加,但是我们希望所有的服务器都希望在笔记本电脑上单个过程中运行。


哦,这样做之后,你会知道为什么全局变量和单身人士是一件坏事。

您可以在一台Linux计算机上运行多个Docker容器。每个容器将获得自己的IP地址,并且还可以与同一主机上的其他容器进行交谈。您要模拟多少个系统?

最新更新