HA для Totum на двух серверах: как построить отказоустойчивость без лишних затрат
4

HA для Totum на двух серверах: как построить отказоустойчивость без лишних затрат

Автор: admin

Опыт построения High Availability для low-code платформы Totum на двух основных нодах с witness-сервером для кворума etcd. Решение обеспечивает автоматический фейловер PostgreSQL через Patroni и переключение приложения без изменения DNS.

Классическая схема High Availability подразумевает три полноценных сервера, балансировщик, кластер PostgreSQL и распределённое хранилище. Однако для переноса рабочей системы Totum в новую инфраструктуру требовалось избавиться от единственной точки отказа, не покупая третью мощную машину только ради кворума.

Архитектура «HA для бедных» заключается в использовании двух основных нод (Node A и Node B) с PostgreSQL в асинхронной репликации под управлением Patroni, и лёгкого witness-сервера для etcd. Witness не хранит копию базы и не запускает приложение — его задача быть третьим голосом для кворума. При падении одной основной ноды оставшаяся вместе с witness даёт большинство 2 из 3, что позволяет кластеру принимать решения.

Для координации роли приложения реализован механизм role-check: каждая нода периодически опрашивает локальный Patroni о статусе PRIMARY. Активная нода возвращает HTTP 200 на health-check эндпоинте, пассивная — 503. L7-балансировщик направляет трафик только на ACTIVE-ноду. При фейловере Patroni меняет лидера, role-check переключает роли, балансировщик перенаправляет трафик — DNS менять не требуется.

Пользовательские файлы реплицируются через lsyncd (на базе rsync + inotify), что обеспечивает синхронизацию почти в реальном времени. Вся инфраструктура разворачивается через Ansible. Выбор асинхронной репликации PostgreSQL — компромисс: возможна потеря незначительного объёма последних транзакций при аварийной потере primary, но запись не блокируется ожиданием второй ноды.

Похожие материалы

ИИ Claude Fable 5 спроектировал печатную плату в KiCad за один промпт: от схемы до готового устройства
ИИ в электронике KiCad Claude AI проектирование печатных плат

ИИ Claude Fable 5 спроектировал печатную плату в KiCad за один промпт: от схемы до готового устройства

Пользователь Reddit a6m-zero использовал Claude Fable 5 для автономного проектирования печатной платы …

Российские физики подтвердили универсальность закона Кардара–Паризи–Чжана в квантовой системе при комнатной температуре
квантовая физика KPZ-универсальность экситон-поляритоны бозе-эйнштейновский конденсат

Российские физики подтвердили универсальность закона Кардара–Паризи–Чжана в квантовой системе при комнатной температуре

Алексей и Стелла Кавокины из МФТИ интерпретировали эксперимент группы Видмана, где в …

В России запустили серийное производство односидных летающих электромобилей eVTOL
eVTOL летающие машины электромобили авиация

В России запустили серийное производство односидных летающих электромобилей eVTOL

На Кемеровской области началось массовое производство электрических вертолётов вертикального взлёта eVTOL на …

Palantir и Nebius Group: стратегическое партнерство для суверенного ИИ и дроновых технологий
Palantir Nebius Group искусственный интеллект дроны

Palantir и Nebius Group: стратегическое партнерство для суверенного ИИ и дроновых технологий

Американский Palantir и нидерландская Nebius Group объявили о партнерстве по инфраструктуре суверенного …