MaxScale с мультикластерной настройкой

Я работал над сценарием высокой доступности для некоторых серверов баз данных и проверил MaxScale & HAProxy, и оба они кажутся очень интересными, но проблема в следующем. При настройке MaxScale все шло хорошо, пока я не обнаружил, что я не вижу способа создания нескольких кластеров на одном экземпляре MaxScale, но это необходимо для количества серверов баз данных, которыми нужно будет управлять с помощью одного экземпляра MaxScale.

Есть ли способ реализовать несколько кластеров при настройке MaxScale или это просто то, что не реализовано в MaxScale?

Спасибо за помощь

1 ответ

Чтобы использовать несколько кластеров с одним MaxScale, просто определите несколько серверов, мониторов, служб и прослушивателей. Вот пример одного кластера, используемого в качестве службы:

[server1]
type=server
address=127.0.0.1
port=3000
protocol=MariaDBBackend

[server2]
type=server
address=127.0.0.1
port=3001
protocol=MariaDBBackend

[Cluster-1-Monitor]
type=monitor
module=mariadbmon
servers=server1,server2
user=maxuser
passwd=maxpwd
monitor_interval=5000

[Cluster-1-Router]
type=service
router=readwritesplit
servers=server1,server2
user=maxuser
passwd=maxpwd

[Cluster-1-Listener]
type=listener
service=Cluster-1-Router
protocol=MariaDBClient
port=4006

Это предоставит сервис разделения чтения-записи на порт 4006, который будет выполнять разделение чтения-записи по серверам server1 а также server2,

Чтобы определить еще один, просто добавьте:

  • Серверы, которые определяют кластер
  • Монитор для мониторинга серверов
  • Сервис, который использует серверы
  • Слушатель, который подключается к службе

Таким образом, вы можете выставить несколько портов, которые подключаются к разным кластерам. Например, один кластер может прослушивать порт 4006, а другой - 4007. Затем эти два кластера можно использовать для подключения двух разных приложений к двум разным кластерам.

Другие вопросы по тегам