Я хотел бы попросить помощи в достижении постоянства уровня приложения на балансировщике нагрузки 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
Может быть, это поможет?
Или я должен использовать веб-сокеты?
Буду благодарен за любые предложения.