Telegram

__Собрал советы из комментариев одного чата__

__Собрал советы из комментариев одного чата__

Последнее время во многих проектах нужно внедрять систему балансировщика. Особенно, если несколько десятков серверов и множество пользователей, которые посылают сотни тысяч запросов в секунду.
Разумеется, учтены моменты оптимизации, например, стараемся не кидать лишние запросы
Примерный алгоритм
1) Используйте наносекунды вместо секунд
2) Если запросы однородные и серверы одинаковые, подойдет Round Robin или Least Connections.
3) Если запросы разной сложности или серверы имеют разную производительность, лучше использовать Weighted Least Connections.
4) Если важна минимальная задержка, лучше использовать алгоритм на основе очередей.
5) Если требуется высокая производительность и гибкость, нужно внедрить систему динамического мониторинга.

Можно ещё улучшить решение с отправкой на случайный сервер, например генерировать два случайных сервера и отправлять запрос на наименее загруженный. На практике это даёт куда лучший результат чем с одним случайным числом