For most scenarios, round-robin load-balance is good enough.
But in our project, sometimes round-robin is not the best choice.
-
every instance of micro-service maintains a data zone by keys. especially using in-memory cache. Using round-robin, every instance may maintains all data.
-
every micro-service may have many instances. Using round-robin, may case m * n connection network.
These scenarios can reference to Uber's Ringpop micro-service model.
- Instances of a micro-service construct a consistence hash ring
- Each instance maintains a piece of data by specified key.
- Random select three instance deal with the request from client, so no m * n connections.
For most scenarios, round-robin load-balance is good enough.
But in our project, sometimes round-robin is not the best choice.
every instance of micro-service maintains a data zone by keys. especially using in-memory cache. Using round-robin, every instance may maintains all data.
every micro-service may have many instances. Using round-robin, may case m * n connection network.
These scenarios can reference to Uber's Ringpop micro-service model.