Балансировка нагрузки Galera с помощью wsrep_dirty_reads = On;Нужно ли мне 2 балансировщика нагрузки для записи и чтения? - PullRequest
0 голосов
/ 22 октября 2018

Я пытаюсь настроить межрегиональную настройку Galera, где DC1 является ведущим, а остальные - подчиненными.Подобная настройка (но только с 2 DC) упоминается здесь: http://galeracluster.com/documentation-webpages/weightedquorum.html#weighted-quorum-for-a-primary-and-secondary-site-scenario

DC1:
  node1: pc.weight = 2
  node2: pc.weight = 2

DC2:
  node3: pc.weight = 0
  node4: pc.weight = 0

DC3:
  node5: pc.weight = 0
  node6: pc.weight = 0

В одном из сценариев сбоя может быть ситуация, когда.

node5 становится non-primary, пока node6 остается primary.В этом случае в DC3 я бы хотел, чтобы writes пошел на узел 6, в то время как чтение может перейти на любой из узлов (предпочтительно, узел 6).

Другая ситуация может быть, когда и node5, и node6становиться non-primary, и в этом случае я хотел бы, чтобы запросы только для чтения отправлялись на оба узла, но запросы «записи» были отклонены.

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

При записи узел балансировки нагрузки должен быть удален из LB, когда он находится в неосновном состоянии.При считывании балансировщик нагрузки должен быть удален, если, например, запрос на чтение не удался или, возможно, просто если он недоступен на порту 3306.

Каким было бы надежное решение для вышеуказанной проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...