FxDNSC
Active-Active кластер HAProxy с DNS-фейловером и Python-дашбордом для управления конфигурацией балансировщиков.
Когда Tirebase вырос до 9 сервисов, HAProxy стал единственной точкой входа для всего трафика. Один балансировщик — одна точка отказа. Если он падает, ложится всё: маркетплейсы не получают фиды, менеджеры не могут работать в CRM, бот не отвечает. Нужна была отказоустойчивость без лишней сложности.
Архитектура
FxDNSC — это два узла HAProxy в режиме Active-Active. Оба принимают трафик одновременно, DNS возвращает оба IP-адреса. Если один узел выходит из строя, health check обнаруживает это, и DNS-записи обновляются автоматически — трафик идёт только на живой узел.
Keepalived следит за состоянием узлов и управляет виртуальными IP-адресами. Health check проверяет не просто доступность порта, а реальную работоспособность бэкендов — если HAProxy запущен, но все бэкенды недоступны, узел помечается как нездоровый.
Дашборд
Управлять конфигурацией HAProxy через редактирование конфигов и перезагрузку — процесс, который не хочется делать руками на проде. FxDNSC включает веб-дашборд на FastAPI, который работает с HAProxy Data Plane API: добавление и удаление бэкендов, переключение серверов, просмотр статистики — всё через браузер.
Дашборд показывает состояние обоих узлов кластера, текущие бэкенды, активные соединения и позволяет вносить изменения в конфигурацию без перезагрузки HAProxy.
Используется в продакшене для маршрутизации трафика к сервисам Tirebase.