Блестящий сервер за балансировщиком нагрузки HAProxy, устойчивость сеанса - PullRequest
0 голосов
/ 01 мая 2018

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

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

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

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

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

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

...