для оркестровки услуг, поскольку она обеспечивает большую гибкость.
я есть облачное приложение, которое реализовано с использованиемSpring Cloud Netflix
.
Итак, в моем приложении я используюEureka
Обнаружение службы для управления всеми экземплярами различных служб приложения. Когда каждый экземпляр службы хочет поговорить с другим, он используетEureka
получить необходимую информацию о целевой службе (например, IP-адрес и порт).
Сервисная оркестровка также может быть достигнута с помощью таких инструментов, какDocker Swarm
а такжеKubernetes
и, похоже, есть некоторые совпадения между тем, чтоEureka
и чтоDocker Swarm
а такжеKubernetes
сможет сделать.
Например, представьте, что я создаю сервис вDocker Swarm
с 5 экземплярами. Таким образом, рой гарантирует, что эти 5 экземпляров всегда работают. Кроме того, каждая служба приложения посылает периодический пульс наEureka
внутренне, чтобы показать, что он все еще жив. Кажется, у нас есть два уровня проверки здоровья, один дляDocker
и еще один внутриSpring Cloud
сам.
Или, например, вы можете предоставить порт для службы во всем рое, что устраняет некоторые потребности в обнаружении службы (порты всегда очевидны). Другим примером может быть балансировка нагрузки, выполняемаяrouting mesh
внутри докера, и распределение нагрузки происходит внутриRibbon
компонент илиEureka
сам. В этом случае наличие аппаратного балансировщика нагрузки приводит нас к трехуровневой функции балансировки нагрузки.
Итак, я хочу знать, рационально ли использовать эти инструменты вместе? Кажется, использование комбинации этих технологий значительно усложняет приложение и может быть излишним.
Спасибо за чтение!