По моему опыту, ни один из текущих подходов не решает эту проблему напрямую, и линейного решения не существует. Фактически, разделение их на разных машинах не является мгновенным решением этой проблемы.
Мы также сталкиваемся с сильными сбоями и сообщениями «сайт перегружен, поэтому вы видите его как незарегистрированный пользователь», когда происходит крупное событие (например, игра, как сказал @ljpp), и это тормозит работу всего сайта, а не только участников той темы.
Поэтому я попробовал два разных подхода: отдельную настройку и «мощную машину». В обоих случаях возникают подобные проблемы. Мои экземпляры мониторятся с помощью Prometheus, логи видны в Grafana и т. д., поэтому у меня есть очень детальный контроль за производительностью оборудования и контейнеров. Я могу подтвердить, что неважно, что вы делаете, проблема всё равно возникает.
Если вы поставите мощную машину перед этим, вы можете немного отсрочить проблему, но всё равно получите ошибки и разрывы сессий, при этом машина будет почти не загружена: ни диск, ни процессор, ни оперативная память. Это происходит как при «стандартной установке», так и при установке «с двумя контейнерами».
При использовании разных машин проблема остаётся той же, независимо от того, одинакового ли они типа или одна «оптимизирована под процессор», а другая «оптимизирована под диск» и т. д. К этому также добавляется дополнительный уровень возможных сбоев соединения между двумя разными машинами, что неизбежно приведёт к задержкам. Хотя величина этих задержек может зависеть от того, как вы настроите соединение и «насколько далеко» находятся машины друг от друга, поведение останется тем же.
Как примечание: такое поведение наблюдается и с плагином Babel. Однако, по-моему, плагин Babel справляется с гораздо большим количеством «одновременных» записей, даже если «чаты» на самом деле являются скрытыми темами. Разница заключается в том, как они отображаются и «обновляются»/«извлекаются». Это различие в поведении привело меня к выводу, что проблема заключается в какой-то корреляции на уровне приложения, которая проистекает из фронтенд-проблемы, «обрушивающей» приложение (хотя фронтенд — не моя сфера экспертизы, в отличие от бэкенда), а также из операций, связанных с публикацией сообщений и ожиданием пользователями «автообновления» темы, когда за одну минуту появляется десятки сообщений.
К этому также добавляется человеческий фактор: когда люди чувствуют, что сайт «тормозит» или что тема «обновляется не так быстро, как должна», они начинают безумно обновлять страницу (F5), создавая дополнительную нагрузку. Но удачи в «обучении» этому ![]()