#mysql #proxy #haproxy #galera
#mysql #прокси #haproxy #galera
Вопрос:
Я новичок в программной архитектуре, и у меня есть несколько вопросов:
Я не понимаю, какие запросы отправляются в HAProxy на этом изображении.
Я имею в виду: если один сервер «Приложений» (серверная часть) хочет сохранить данные в кластере Galera, какой запрос будет отправлен на HAProxy?
Является ли это sql-запросом «request»?
Если это sql-запрос, должен ли серверу HAProxy нужен mysql-сервер для «обработки» соединения?
Должен ли сервер приложений быть настроен для установления sql-соединения с HAProxy?
От: https://fromdual.com/making-haproxy-high-available-for-mysql-galera-cluster
Спасибо!
Ответ №1:
Приложению нужно знать только IP-адрес VIP в этой архитектуре. Приложение подключается к этому VIP с помощью соединителя MySQL, как если бы это был сервер MySQL.
Затем «Запросы» представляют собой TCP / IP-соединения с отслеживанием состояния с использованием протокола MySQL, как если бы приложение было подключено непосредственно к узлу MySQL.
Это не серия HTTP-запросов без состояния. Возможно, вы предполагаете, что HAProxy предназначен только для балансировки нагрузки http-запросов. Фактически, HAProxy можно использовать для других протоколов, кроме http.
Комментарии:
1. Спасибо! Мне это кажется более понятным. Еще один вопрос: является ли keepalived, который создает VIP? Или мне нужно сделать это самому?
2. Keepalived создает VIP. Насколько я знаю, вам решать выбрать IP-адрес в вашей подсети, который еще не используется другими хостами.
3. Понятно! Спасибо!!!
4. Другой вопрос, должен ли кластер Galera находиться в той же сети? Я имею в виду, возможно ли иметь один узел Galera и другой узел на совершенно другом сервере?? Спасибо
5. @TheoCerutti нет, Galera не обязательно должна находиться в одной сети. Пока хосты могут связываться друг с другом через соответствующие порты, это будет работать.