У меня есть установка, в которой я развертываю приложение весеннего облачного консула из сети оверлейных роек-докеров. В моей оверлейной сети я создал изображения консула на каждом узле. Когда я разворачиваю приложение spring-cloud-consul, я должен указать имя хоста агента консула, с которым он должен поговорить, например, «открытие», чтобы он мог рекламировать себя и запрашивать обнаружение службы. Проблема здесь в том, что каждый контейнер затем запрашивает одного и того же агента консула. Когда я удаляю этого конкретного агента консула, Ribbon DiscoveryClient, похоже, полагается на свой собственный кеш, а не на использование одного из других консульных узлов.Весеннее облако с консулом для высокой доступности
Каков надлежащий способ запуска приложения для микросервиса с помощью консула весны-облака и консула, так что они не зависят от одного фиксированного агента консула.
Solutions Я думал о попытке:
- Имея несколько файлов и в составлении которых определяют различные агенты. Консула
- Как-то с изображением докера идентифицируйте узел, на котором он включен, а затем настройте себя на использование агента консула, локального для этого узла. (Не знаю, как это сделать.)
- Пакет агента консула с приложением весенней загрузки.
Благодарим за помощь.
От https://www.consul.io/docs/agent/basics.html «Агент должен работать на каждом узле, который является частью кластера Consul». ИМО, управляющая агентом на каждом узле, запускает агент в каждом контейнере докера. – spencergibb
Это будет вариант 3. Но я чувствую, что это своего рода разрыв микрокапсуляции. Это также делает упаковку этих изображений более сложной, так как это потребует расширения изображения консула, гарантируя, что требования к java для весны существуют, а затем запускают обе службы. Однако он обеспечивает наивысшую надежность в том, что данный консул-агент спускает только один экземпляр. – Mimyck
Что означает «инкапсуляция микросервиса»? Консул - это единый двоичный файл. – spencergibb