Depository of News

Два сервера и половинка третьего: как мы строили HA-инфраструктуру для Totum

newsdepo.com · world

<img src="https://habrastorage.org/getpro/habr/upload_files/3a2/138/0b4/3a21380b4c12778e5b68fe9d544f636a.jpg" /><p>Когда говорят про High Availability, довольно быстро получается классическая картина: три сервера, балансировщик, кластер PostgreSQL, распределённое хранилище, мониторинг и ещё несколько компонентов, про которые никто не вспоминал, пока всё работало на одной виртуалке.</p><p>У нас исходная ситуация была намного прозаичнее: была рабочая система на Totum, которую нужно было перенести в новую инфраструктуру и одновременно избавиться от единственной точки отказа.</p><p>При этом хотелось выполнить несколько условий:</p><p>1) падение одной основной VM не должно останавливать систему;</p><p>2) PostgreSQL должен автоматически переключаться;</p><p>3) приложение должно понимать, на какой ноде ему разрешено выполнять активные операции;</p><p>4) пользовательские файлы должны оставаться доступными после переключения;</p><p>5) переключение не должно требовать ручного изменения DNS;</p><p>6) всё должно разворачиваться и обслуживаться через Ansible;</p><p>7) покупать третью полноценную машину только ради кворума не хотелось.</p><p>Последний пункт в итоге и породил архитектуру, которую между собой я называл «HA для бедных». Спойлер: третья машина всё-таки появилась. Но это маленький witness, который практически ничего не делает с точки зрения бизнес-нагрузки.</p><p>----------------------------------------------------------------------------------------------------------------------------------</p><p><strong>Что&nbsp;такое Totum и почему с&nbsp;ним вообще возник этот квест</strong></p><p>Totum — self-hosted low-code платформа для создания внутренних web-приложений: ERP, учётных систем, личных кабинетов и других кастомных бизнес-систем. Приложения строятся вокруг таблиц и прикладной логики, а сама платформа может работать со сторонними системами через API и инициировать HTTP-запросы.</p> <a href="https://habr.com/ru/articles/1081590/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=1081590#habracut">Читать далее</a>

Read full article →