обнаружение службы верблюда получило ошибку, когда локальный клиент консула принудительно завершил работу - PullRequest
0 голосов
/ 16 января 2020

Я использую верблюда в качестве шлюза микро-услуг и кластер консулов ​​в качестве центра обнаружения услуг.

К каждому шлюзу верблюдов подключается клиент localhost консул (рекомендуется в производственном режиме) для обнаружения услуг.

Если я принудительно отключил клиент консула на узле шлюза, шлюз не может получить какую-либо служебную информацию о кластере консула.

Все еще поступают запросы, и все ответы получают код состояния 500.

I ' Любопытно, что консольный кластер может терпеть сбой N-сервера (2N + 1 сервера), но не может обрабатывать сбой любого клиента.

Это очень странно. Я что-то не так понимаю?

Верблюд использует camel-consul-starter для настройки консула.

cloud:
  consul:
    service-discovery:
      url: "http://localhost:8500"

Компонент службы обнаружения верблюдов может подключаться только к одному клиентскому узлу.

Нужно ли использовать виртуальный IP вместо localhost для подключения к консольному кластеру?

...