
Когда говорят про High Availability, довольно быстро получается классическая картина: три сервера, балансировщик, кластер PostgreSQL, распределённое хранилище, мониторинг и ещё несколько компонентов, про которые никто не вспоминал, пока всё работало на одной виртуалке.
У нас исходная ситуация была намного прозаичнее: была рабочая система на Totum, которую нужно было перенести в новую инфраструктуру и одновременно избавиться от единственной точки отказа.
При этом хотелось выполнить несколько условий:
1) падение одной основной VM не должно останавливать систему;
2) PostgreSQL должен автоматически переключаться;
3) приложение должно понимать, на какой ноде ему разрешено выполнять активные операции;
4) пользовательские файлы должны оставаться доступными после переключения;
5) переключение не должно требовать ручного изменения DNS;
6) всё должно разворачиваться и обслуживаться через Ansible;
7) покупать третью полноценную машину только ради кворума не хотелось.
Последний пункт в итоге и породил архитектуру, которую между собой я называл «HA для бедных». Спойлер: третья машина всё-таки появилась. Но это маленький witness, который практически ничего не делает с точки зрения бизнес-нагрузки.
----------------------------------------------------------------------------------------------------------------------------------
Что такое Totum и почему с ним вообще возник этот квест
Totum — self-hosted low-code платформа для создания внутренних web-приложений: ERP, учётных систем, личных кабинетов и других кастомных бизнес-систем. Приложения строятся вокруг таблиц и прикладной логики, а сама платформа может работать со сторонними системами через API и инициировать HTTP-запросы.
Читать далее
Комментарии 0
Войдите, чтобы оставить комментарий