Comments 7
Пару раз тестировал patroni. Легко получал split brain. В другой раз при переключении мастера, на реплике не оказалось последних добавленных в БД данных.
До третьего эксперимента, как патрони будет работать с 2Тб базой просто не дошел.
Скорее всего у меня руки кривые, но проблема была в том, что у последующих эксплуатантов степень кривизны была неизвестна.
У меня за годы эксплуатации десятков кластеров сплитбрейн не получился по моему ни разу. Вспомнить не могу во всяком случае.
Тут вопрос в основном в роутинге запросов от клиентов (хапрокси в данной статье), само патрони не занимается этим.
Скорее всего что-то не по бест практис было сделано.
А по поводу отсутствия данных после переключения - синхронная репликация была задействована?
По моему получить сплит брейн даже на голом постгресе это надо очень сильно постараться
Если добавить в схему pgBackRest, то реплика не будет грузить Leader.
Также для etcd лучше добавить 2 опции - ETCD_AUTO_COMPACTION_RETENTION и ETCD_AUTO_COMPACTION_MODE, чтобы не распухала база etcd.
3 ноды, ок. А больше?
Высокодоступные кластеры PostgreSQL с Patroni: Ваша очередь протестировать сценарии отказов