最轻量级的方法来模拟Linux上的分布式系统

时间:2018-02-09 05:33:55

标签: linux docker android-emulator distributed-computing distributed-system

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

  1. Android模拟器太耗费资源,我的可怜笔记本电脑大多崩溃了。
  2. 仿真器之间的网络支持不佳。需要在TCP上进行端口转发,什么不能。
  3. 那么在我的Linux机器上模拟分布式系统的方法是什么,它占用的资源最少,主要是RAM和CPU时间?

    Docker能解决所有这些问题吗?也许为每个容器创建多个具有单独IP的容器?这甚至可能吗?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

我们有一个时钟和我们注入课程的网络的存根实现。网络模仿许多分布式系统文件中使用的消息传递模型:随机选择一条消息并传递它。这很好地模拟了网络延迟和不一致性。我们还内置了其他东西:能够阻止/释放或丢弃来自多组主机的消息;和一个简单的tcp模型。

通过这个简单的添加,我们的单元测试现在称为交互测试。我们可以非常快速地在笔记本电脑上添加许多我们想要在一个进程中运行的服务器。

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