Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: apache balancer + tomcat  (Прочитано 437 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Punko

  • Автор темы
  • Гость
apache balancer + tomcat
« : 09 Июнь 2016, 18:33:12 »
Схема:
сервер с apache, настроен как балансировщик.
сервер с докером, в котором крутятся томкаты с приложением, подключены к общей базе Mysql.

Когда я подключаюсь к apache, то я не могу пройти авторизацию, как я понимаю из-за того, что при перезагрузке страницы балансировщик кидает на другой контейнер, с другой сессией.

Вопрос такой - как сделать так, чтоб сессию хранил балансировщик и конечному юзеру было всё равно, какой сейчас сервер за ним?

Я плохо знаю апач, поэтому конфиг для балансёра базовый, который нашёл:

(Нажмите, чтобы показать/скрыть)


Сразу отвечу на вопрос о ДНС - это всё тестовое, тут нинужно.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26086
    • Просмотр профиля
Re: apache balancer + tomcat
« Ответ #1 : 09 Июнь 2016, 21:11:54 »
Надо ставить отдельное хранилище для сессий.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Punko

  • Автор темы
  • Гость
Re: apache balancer + tomcat
« Ответ #2 : 09 Июнь 2016, 21:55:09 »
AnrDaemon, ткни, пожалуйста.
Stickyness это не совсем то, как я понял именно для томката.

Или это решается только в самом приложении?


________________________
всё, нагуглил, спасибо. Силами apache это не решить,как в принципе и nginx.
« Последнее редактирование: 09 Июнь 2016, 22:08:24 от Punko »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26086
    • Просмотр профиля
Re: apache balancer + tomcat
« Ответ #3 : 10 Июнь 2016, 00:17:20 »
Да, это необходимо решать в самом приложении, использовать какое-то key-value хранилище для сессий, доступное со всех бэкэндов.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Punko

  • Автор темы
  • Гость
Re: apache balancer + tomcat
« Ответ #4 : 10 Июнь 2016, 00:57:28 »
AnrDaemon, как я понял, чаще всего это nosql база, классика Redis.

Спрошу у разработчиков завтра, реализовано ли это.
Хотя, судя по конфигам - нет.

Спасибо, отмечаю решенным.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26086
    • Просмотр профиля
Re: apache balancer + tomcat
« Ответ #5 : 10 Июнь 2016, 03:33:17 »
Ну, на самом деле решений больше одного редиса.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Punko

  • Автор темы
  • Гость
Re: apache balancer + tomcat
« Ответ #6 : 10 Июнь 2016, 14:32:19 »
AnrDaemon, я понял, что подойдёт любая nosql, иногда sql, а можно и самому реализовать программно внутри приложения.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26086
    • Просмотр профиля
Re: apache balancer + tomcat
« Ответ #7 : 10 Июнь 2016, 19:41:16 »
Тот же memcached например.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Punko

  • Автор темы
  • Гость
Re: apache balancer + tomcat
« Ответ #8 : 10 Июнь 2016, 20:23:31 »
AnrDaemon, Nginx, HAProxy отлично разрулили ситуацию.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26086
    • Просмотр профиля
Re: apache balancer + tomcat
« Ответ #9 : 10 Июнь 2016, 20:29:56 »
Направили все соединения в одной сессии на один бэк? :) А если у клиента IP сменился? Мобильные клиенты могут быть в дороге и менять привязку по сети каждые 15 минут.
Хотя… Если определять сессию по самой сессии, а не по IP… Может сработать.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Punko

  • Автор темы
  • Гость
Re: apache balancer + tomcat
« Ответ #10 : 10 Июнь 2016, 21:09:45 »
AnrDaemon, да, именно так.
Про смену IP не думал. Реально интересный вопрос. При обрыве связи и динамическом адресе мы потеряем сессии, зато кто-то другой их может получить, если без кук.

еще плохо направлять на один бек тем, что если новый клиент попадёт на бек, который уже закреплён за одним, то теряется смысл балансёра.
То есть, у нас два балансёра, на одном висит два клиента с их сессиями, а на втором - ни одного, потому что сессии сохранены именно для первого.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26086
    • Просмотр профиля
Re: apache balancer + tomcat
« Ответ #11 : 10 Июнь 2016, 21:27:31 »
nginx умеет балансить по заголовкам. Это намёк :)
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.056 секунд. Запросов: 24.