Контейнер-контейнерная сеть и закрепленная сессия

У меня есть установка с двумя приложениями, работающими в облачном хранилище. Приложение G работает как обратный прокси с общедоступным маршрутом. Приложение A с внутренним маршрутом запускается за G. Контейнер-контейнерная сеть установлена ​​между G и A. Теперь из-за масштабирования A имеет несколько экземпляров. Мне нужен липкий сеанс для A. Но проблема в том, что сеть C2C не проходит через Go Router, поэтому пусть A set JSessionID cookie здесь не работает. Как сделать липкую сессию?

1 ответ

Трафик в ваше приложение будет выглядеть так:

      Browser -> load balancer -> Gorouter -> App G (reverse proxy) -> App A
  1. Если приложение A устанавливает файл cookie JSESSIONID в качестве файла cookie сеанса, он все равно будет запускать поддержку липкого сеанса Gorouter, однако он будет применяться только к приложению G, что на самом деле не помогает в этом случае.

    Это также то, что вам нужно учитывать при масштабировании приложения G в будущем, потому что вы, вероятно, не хотите или не нуждаетесь в этом, поскольку ваш обратный прокси-сервер не будет сохранять состояние в сеансе. Вы можете изменить это поведение, используя что-то другое, кроме JSESSIONID в качестве файла cookie сеанса, или попросив обратный прокси-сервер перезаписать имя файла cookie сеанса.

  2. Что касается поддержки липкого сеанса для приложения A, вам необходимо настроить обратный прокси-сервер, то есть приложение G, для этого. Как вы это сделаете, зависит от вашего обратного прокси, который вы не указали в исходном сообщении. Ознакомьтесь с документацией по обратному прокси-серверу, чтобы узнать, как включить поддержку «постоянства сеанса» или «закрепленного сеанса».

Другие вопросы по тегам