Контекст:
У меня есть система, которая должна поддерживать 20 000 подключенных пользователей чата, распределенных по 100 комнатам чата. Во время тестирования производительности я обнаружил, что могу получить до 6000 подключенных пользователей на одном компьютере до того, как получу аварийный дамп, поэтому в работе я, вероятно, пойду с четырьмя серверами в кластере.
Мой вопрос:
Я понимаю, что чат-комната связана с узлом сервера, поэтому, если узел умирает, чат-комната исчезает вместе с ним, и пользователи больше не принадлежат этой комнате. Есть ли способ «реплицировать» чат-комнату на другой узел, чтобы оставшиеся пользователи были перемещены в реплицированную комнату? Если нет, что вы делаете, чтобы сохранить непрерывность для пользователей?