Любой совет о том, как справиться с отказом в кластере ejabberd? - PullRequest
4 голосов
/ 09 ноября 2010

Контекст:
У меня есть система, которая должна поддерживать 20 000 подключенных пользователей чата, распределенных по 100 комнатам чата. Во время тестирования производительности я обнаружил, что могу получить до 6000 подключенных пользователей на одном компьютере до того, как получу аварийный дамп, поэтому в работе я, вероятно, пойду с четырьмя серверами в кластере.

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

1 Ответ

0 голосов
/ 09 ноября 2010

Какое оборудование вы используете?6000 подключенных пользователей кажутся немного низкими.Кроме того, ejabberd не должен падать под нагрузкой.Это может замедлиться, но не приведет к сбою.

В вашей настройке что-то не так.

Про репликацию узла чата не так просто.Лучше выполнять плавное переподключение на стороне клиента.

Но опять же, ejabberd не должен аварийно завершать работу при такого рода нагрузках, если что-то не так.

...