Так что это более или менее теоретический вопрос.
Допустим, у нас есть многоузловая установка Swarm, состоящая из 3 узлов.Теперь мы установили сервис Python, который использует Celery и Redis в качестве брокера сообщений.Таким образом, в сущности, в составе приложения есть также служба перерисовки реплик из 3 узлов.
Теперь, поскольку эта служба Redis действует как посредник сообщений, если мы используем имя службы только для разрешения DNS внутри моего приложения Pythonтогда как Docker Swarm или мое приложение узнают, на каком узле redis будет задача, которую я поместил в очередь?
Я имею в виду, что сетка маршрутизации будет направлять трафик только для определенной службы на любом из узлов, которые имеют эту службу.Теперь мое приложение Python запустило задачу асинхронно и поместило ее в очередь на повторное выполнение.Поэтому, как только это будет сделано, я хочу, чтобы мое приложение запрашивало redis, чтобы получить результаты.Но как он узнает, какой узел имеет результаты.
Это похоже на липкие сессии?Пожалуйста, дайте мне знать, если что-то не понятно.