База данных
Введение
Репликация базы данных является критически важным компонентом отказоустойчивой архитектуры Пассворка. Она обеспечивает синхронизацию данных между несколькими нодами. При сбое Primary ноды выполняется голосование между оставшимися нодами, выбирается новая Primary нода, к которой начинают обращаться серверы приложений.
Поддерживаемые базы данных:
- MongoDB — репликационный набор (Replica Set)
- PostgreSQL — Patroni кластер (начиная с версии 7)
осторожно
Пассворк поддерживает работу с PostgreSQL, но мы не осуществляем техническую поддержку базы данных. Установка, настройка и обслуживание выполняются вашими силами.
Механизм голосован ия нод
Принцип работы
И MongoDB Replica Set, и PostgreSQL Patroni кластер используют механизм голосования для выбора основной ноды (Primary) и обеспечения консистентности данных.
Как работает голосование:
- Каждая нода имеет право голоса — каждая нода в репликационном наборе или кластере может участвовать в выборе Primary
- Кворум — для выбора нового Primary необходимо большинство голосов (более 50%)
- Автоматический выбор — при сбое текущего Primary ноды автоматически проводят голосование для выбора нового Primary
- Синхронизация данных — новый Primary должен иметь актуальные данные (синхронизирован с предыдущим Primary)