Блестящий сервер за балансировщиком нагрузки HAProxy, постоянство сеанса

Я хотел бы попросить помощи в достижении постоянства уровня приложения на балансировщике нагрузки HAProxy. В нашей настройке есть один балансировщик нагрузки, на котором запущен HAProxy, и несколько бэкэндов, на которых запущены Shiny Servers с идентичным приложением R Shiny. (Все серверные ВМ подключены к одной и той же базе данных.) Для достижения постоянства я использую файлы cookie, вставленные балансировщиком нагрузки, как описано в этом сообщении: https://www.haproxy.com/blog/load-balancing-affinity-persistence-sticky-sessions-what-you-need-to-know/ (как в части «Настройка файлов cookie сеанса с помощью балансировщика нагрузки»)

После того, как файлы cookie введены, браузер всегда перенаправляется на тот же сервер, пока файлы cookie не будут очищены. Это не обязательное поведение, так как оно слишком «липкое» - все последовательные сеансы перенаправляются на основе файла cookie. Балансировщик нагрузки должен использовать алгоритм балансировки нагрузки для каждого нового сеанса, однако я не могу следить за сообщением в части «Использование cookie сеанса приложения для сохранения», поскольку приложения Shiny их не используют. Я застрял на этом этапе и был бы благодарен за любое понимание или обмен опытом.

Я заметил, что в URI HTTP-запросов есть идентификатор сеанса, например:

Request URI Path: /[our_shiny_app]/session/e75cc0c2efff0ac7650eef1616a1f7eb/dataobj/clicked_features_tab

Может ли это помочь? Или я должен использовать веб-сокеты?

Буду признателен за любые предложения.

Когда вы говорите: «Балансировщик нагрузки должен использовать алгоритм балансировки нагрузки для каждого нового сеанса», вы должны указать балансировщику нагрузки, как узнавать о различных блестящих сеансах на основе того, что находится в ответе сервера. Я имею в виду, что в какой-то момент сервер отправит клиенту блестящий идентификатор сеанса (но вопрос в том, в какой именно части ответа?), И именно здесь HAProxy должен его выбрать и использовать.

Mo3m3n 08.05.2018 13:50
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
1
286
0

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