Достаточно ли просто включить сходство сессий, чтобы обеспечить правильное соединение при использовании кластеров и нескольких динамо?
Я включил привязку сеанса к Heroku через интерфейс командной строки - достаточно ли этого, чтобы убедиться, что трафик от пользователя попадает в тот же процесс (кластеризация с использованием толпы) на правильном dyno (несколько dyno)?
Чтобы было ясно, у меня нет кода, чтобы справиться с этим. Я просто использую сокет io как есть, я не использую липкие сессии или что-то еще. Все, что я сделал, это включил сессионный сход.
Этого достаточно? Как я могу проверить это локально?
1 ответ
Не уверен, что вы когда-нибудь получали ответ на этот вопрос, но сам обдумывал эту проблему. Однако потенциально может быть достаточно, Socket.io призывает:
«если вы находитесь в ситуации CORS (передний домен отличается от домена сервера) и привязка сеанса достигается с помощью файла cookie, вам необходимо разрешить учетные данные:»
Учитывая, что вы используете длинный опрос по умолчанию, а затем порядок подключения ws, я думаю, что липкие сеансы Heroku должны быть в состоянии направить ваш первоначальный запрос длинного опроса на правильный dyno. Две вещи, которые мне неясны:
- После того, как запрос на длинный опрос распространяется на назначенный dyno, подключается ли обновление до соединения через веб-сокет к тому же dyno?
- Учитывая, что автомасштабирование Heroku не учитывает соединения через веб-сокет (источник , поиск веб-сокета ), как бы вы автоматически масштабировали динамометры для учета трафика?
Что касается номера 2, он потенциально может работать через время p95 запроса API с длительным опросом, используемое для определения нагрузки на сервер, но не уверен, увеличится ли задержка API из-за подключений/рабочей нагрузки веб-сокета.