Стратегия распределения нагрузки по умолчанию в Docker Swarm в рамках одного сервиса - PullRequest
0 голосов
/ 03 мая 2019

Я новичок в docker-swarm и очень заинтересован в знании внутренней работы того, как docker-swarm распределяет входящие запросы для одного отдельного сервиса.

Например, я развернул стек с одной службой и 10 репликами на 2 узлах.когда я поднял узел 5, контейнеры действительно появились на узле 1, а другие 5 на узле 2.Теперь я делаю 10 запросов HTTP к одному и тому же сервису из 10 различных экземпляров браузера. Каждый контейнер завершается одним запросом?Если бы это был круговой прием, я бы так подумал.Однако я не наблюдаю того же поведения в стеке, который только что развернул.

Я поднял стек с конфигурацией выше и сделал 10 запросов.Когда я сделал это, нагрузка была более распределена, чем сконцентрирована, но только 7 из контейнеров получили 10 запросов, а 3 были свободны.

Это говорит мне о том, что это не равномерное распределение по кругу.Если нет, то по какому алгоритму следует использовать docker services api для определения того, какой контейнер будет обслуживать следующий запрос?

Когда я искал внутреннюю работу роя Docker, я закончил со статьей здесь: https://docs.docker.com/engine/swarm/ingress/

, что интересно посмотреть на сетку входа и маршрутизации, но все еще не отвечает на мой первоначальный вопрос.

Кто-нибудь?

...