Я использую верблюда в качестве шлюза микро-услуг и кластер консулов в качестве центра обнаружения услуг.
К каждому шлюзу верблюдов подключается клиент localhost консул (рекомендуется в производственном режиме) для обнаружения услуг.
Если я принудительно отключил клиент консула на узле шлюза, шлюз не может получить какую-либо служебную информацию о кластере консула.
Все еще поступают запросы, и все ответы получают код состояния 500.
I ' Любопытно, что консольный кластер может терпеть сбой N-сервера (2N + 1 сервера), но не может обрабатывать сбой любого клиента.
Это очень странно. Я что-то не так понимаю?
Верблюд использует camel-consul-starter для настройки консула.
cloud:
consul:
service-discovery:
url: "http://localhost:8500"
Компонент службы обнаружения верблюдов может подключаться только к одному клиентскому узлу.
Нужно ли использовать виртуальный IP вместо localhost для подключения к консольному кластеру?