Search code examples
networkingload-balancing

Load balancing based on proximity


I'm working on a project were we have number (5 at the moment) of servers spread across the world. Clients connect to one of those servers through a centralized broker. We know the originating country of the client but nothing else. We have full control of the servers so we can have all the info we need on those. We don't control the clients, they have to connect through this broker as according to standard.

It's important that the broker picks a server that has low latency so with the data we have I think proximity is our only available criteria.

The first idea that came in mind is pinging the client from each server but we don't have an ip, only the country.

Other idea we had is to ping a root node in each country from each server. The problem there is finding a root node in each country.

Do you have any idea how to calculate/lookup proximity between "countries"? Do you have any insights or ideas on how to solve this problem in another way?


Solution

  • I think the term you need is "geographic load balancing". Most of the major load balancing vendors have a solution here - your broker could use of these.

    Googling geographic load balancing gets some useful looking results.