Назад | Перейти на главную страницу

Развертывание MariaDB Galera

Я хочу поэкспериментировать с MariaDB 10 Galera Cluster. Я ищу высокодоступную, масштабируемую и надежную архитектуру. В основном мне любопытно, какая архитектура была бы лучше, возможно ли это и является ли это хорошей практикой?

1) Galera Cluster + maxscale для разделения операций чтения и записи - здесь я логически разделю обе операции чтения / записи. Я хочу, чтобы записи применялись ко всем узлам, но в конечном итоге имели определенные узлы только для операций чтения. Подобно репликации Master-Slave, когда запись идет на ведущее устройство, а ведомое устройство - на ведомые. Возможно ли это здесь?

2) Galera Cluster с репликацией Master-Master, и могу ли я подключить к нему еще один Galera Cluster только для операций чтения?

Моей основной целью было бы иметь пару узлов записи и пару узлов чтения, чтобы я мог разделить операции и фактически иметь резервную копию каждого узла, если что-то пойдет не так? Какой здесь подход лучше всего?

Спасибо.

Я бы пошел с galera + maxscale + haproxy. Наша установка - это 3 узла galera, 2 узла maxscale + 2 узла haproxy, обеспечивающие активно-пассивное переключение при отказе для maxscale - несколько моментов, о которых следует помнить при этой настройке (или любой galera + maxscale).

  1. Galera рекомендует для записи один узел - попытка записи на несколько узлов может привести к конфликтам записи. Обычно это реализуется с помощью разделителя чтения-записи в maxscale, что дает один узел записи и несколько узлов чтения.
  2. Дополнительные узлы могут быть добавлены для обеспечения устойчивости и производительности - большинство типичных веб-приложений запускают что-то вроде разделения чтения и записи 80:20, так что это хорошая модель.
  3. Теоретически вы можете запустить настройку active-active на haproxy для maxscale, поскольку алгоритм, используемый maxscale для идентификации узла записи, должен гарантировать, что каждый узел maxscale выберет один и тот же узел galera. Когда мы впервые тестировали, этого не произошло, но с тех пор было выпущено несколько выпусков, так что теперь это может работать.
  4. Большим преимуществом maxscale является то, что это означает, что настройка galera прозрачна для конечных приложений - по их мнению, они просто общаются с сервером базы данных. Это избавляет от необходимости писать код для обработки отдельных узлов чтения / записи.