Балансировщик нагрузкиОблачный балансировщик нагрузки Selectel реализован модулем OpenStack Octavia. Компонент Amphorae (амфора) запускается на облачном сервере и выполняет балансировку нагрузки, используя HAProxy для проксирования трафика.
За ним на схеме расположены кластеры серверов, разделенные по ролям:
- Application-серверы, которые обрабатывают запросы пользователей и на которых крутится система.
- Далее расположены серверы баз данных, соединенные между собой. Это отдельные виртуалки, которые резервируются и реплицируются.
- Серверы для аналитики и мониторинга.
Балансировщик нагрузки Selectel работает с запросами заказчиков и установленными лимитами. Imredi использует базовый балансировщик с резервированием и возможностью аварийного переключения (Active-Standby Failover) на резервную амфору в одном пуле. Используются алгоритмы:
Last Connection, когда новые запросы распределяются на серверы в пуле с наименьшим количеством активных соединений;
Sticky Sessions, когда новые запросы распределяются на сервер по Least Connections, а последующие запросы этой сессии распределяются на тот же сервер, не учитывая алгоритм.
Все это позволяет гибко управлять нагрузкой, обеспечивать консистентность данных в рамках обработки запросов пользователей.