LINUX.ORG.RU
ФорумAdmin

Docker: Service discovery

 ,


1

2

Всем привет!

Вопрос, скорее теоретический: а как у вас решен вопрос Service discovery?

Я как-то жил в парадигме что а) каждый микросервис использует только один свой порт и этот порт мне заранее известен и б) с версии 1.12 все что мне нужно для организации кластера и управления им это только сам докер. Но мне пришла задача с такими вводными: сервисы должны подниматься со случайным портом; в урле не должно быть порта; нужны чеки сервисов. Одним словом: может ли docker иметь функционал consul'а? Спешный гуглеж привел меня к использованию собственно consul, consul template и Registrator. Это все модно и молодежно, но не хочется разводить зоопарк из разных продуктов. И вот хочу уточнить - может уже кто-то такое решал?

Нет,искаропки он этого не умеет, только сторонние тулзы. Сходу могу вспомнить zuul, ну и всякие костыли из варианта nginx-based reverse proxy + service discovery.

Deleted ()

docker-flow-proxy
traefik
умеют все что нужно

samarin ()

DR-CoN (gliderlabs reistrator + consul + consul template + nginx) - не так уж модно и молодежно, как ты думаешь. Можно посмотреть на Marathon-lb, который кроме service discovery и load balancing'а даст дополнительные плюшки. Такие, как health checks, оптимальное распределение контейнеров по машинам твоего кластера, и ещё много интересных вещей типа fetch API. Можешь посмотреть в сторону Kubernetes. Там вопрос service discovery и балансировки также решен, и также из коробки ты получишь гораздо больше плюшек. Можешь глубоко не копать и посмотреть docker swarm mode, но я не уверен, насколько оно нынче юзабельно.
Ну и опять же, зависит от твоих юзкейсов, service discovery и даже балансировка нагрузки бывают client-side. Вдруг ты там микросервисы на jvm-языках пишешь - см. Netflix OSS.

bytecode ★★ ()
Ответ на: комментарий от bytecode

Marathon и Kubernetes смотрел, но - нет, не смогу передать в поддержку. Swarm может делать чеки и service discovery, но так что бы определить какой сервис у него зарегистрировался не может, приходится прикручивать консул.

Вдруг ты там микросервисы на jvm-языках пишешь - см. Netflix OSS

Ага, спасибо, погуглю

gadzira ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.