Search code examples
linuxdockerandroid-emulatordistributed-computingdistributed-system

Most lightweight way to emulate a distributed system on linux


So I am taking this distributed systems class in which projects are done by simulating a distributed system using android and multiple emulators. This approach is terrible for multiple reasons:

  1. Android emulators are too effin resource consuming that my poor laptop crashes mostly.
  2. Poor networking support between emulators. Need to do port forwarding on TCP and what not.

So what is the way to emulate a distributed system on my Linux machine that consumes minimal resources, mostly RAM and CPU time?

Is Docker the answer to all of this? Maybe create multiple containers with separate IP for each? Is that even possible?


Solution

  • You can run several docker containers on one Linux machine. Each container will get its own IP address and it will also be able to talk to other containers on the same host. How many systems do you want to simulate?