Containerized PostgreSQL с данными в распределенной файловой системе

Мне любопытно, действительно ли кто-то запускает PostgreSQL в производственном контейнере в какой-либо форме распределенной файловой системы - предпочтительно GlusterFS или что-то в этом роде.

В настоящее время я использую Mesos / Marathon. В случае сбоя узла PostgreSQL Marathon просто запускает другой экземпляр PostgreSQL на других узлах, и если все будет сделано правильно (обнаружение служб и восстановление приложений после потери соединения с базой данных), будет достигнута максимальная отказоустойчивость.

Я знаю, что PostgreSQL имеет свой собственный Решения высокой доступности, такие как доставка журналов и резервное копирование в горячем режиме, но тогда все еще нужно решить проблему, когда переключаться с главного на подчиненное, как это делать правильно и т. Д.

Итак, как запустить PostgreSQL в продакшене на GlusterFS или подобном? Если так, это стабильно? Как насчет производительности?

8
задан 10 June 2018 в 17:23
2 ответа

, но тогда все еще нужно решить проблему, когда переключаться с ведущего на ведомое, как это делать правильно и т. Д.

Каждый кластер обычно имеет понятие кворума: наблюдатели (мониторы, что угодно) должны решить, какой узел является главным. Затем вы можете использовать их информацию для правильной маршрутизации запросов. Довольно типично запускать haproxy не только с базовыми проверками работоспособности TCP / IP , но и с некоторой логикой высокого уровня, реализованной с помощью запросов конкретных служб.

Посмотрите peacemaker , например, e. г ..

0
ответ дан 2 December 2019 в 23:09

Вам нужно запустить postgresql в режиме обслуживания с отслеживанием состояния. Масштабирование выполняется mesos, но репликация данных выполняется самим postgresql. Взгляните на этот сайт служба с отслеживанием состояния и постоянные тома .

0
ответ дан 2 December 2019 в 23:09

Теги

Похожие вопросы