Одна база, все узлы, ни одного главного проверенокритичноПишет Хаб
Каждый узел читает одни и те же 33 таблицы, и ни один ими не владеет; изменение — это строка плюс сообщение перечитывания, а всё остальное вытекает отсюда.
Подробно
Модель простая, и у неё три следствия, которые стоит назвать вместе. Главного узла нет: узел состоит в кластере потому, что смотрит на ту же базу и тот же обмен кластера. Добавить узел — добавить читателя; убрать — убрать читателя. «Кластер настроен так-то» означает ровно «так говорят эти таблицы». Во время отправки почты не читается ничего. Таблицы загружаются в память и обновляются по таймеру, поэтому строка, записанная напрямую, невидима, пока не сработает таймер или не придёт сообщение о перечитывании. Каждый писатель обязан делать обе половины. И база держит секреты: закрытые ключи DKIM, токены REST, ключи push — открытым текстом. Её резервная копия — это копия личности кластера, а –purge-database эту личность уничтожает, а не сбрасывает настройки. Семнадцать таблиц не описаны, включая всё про пулы, подавления, внешние MTA и группировки. Модуль управления, построенный по документации поставщика, распоряжался бы половиной кластера и не подозревал об остальном.