Как ejabberd обрабатывает действительно большое количество запросов. Напр.Как ejabberd обрабатывает действительно большое количество запросов
- У меня только 1 экземпляр работает.
Я предполагаю:
- Давайте mod_offline.erl, например
- Этот модуль запускается на ejabberd_admin когда сервер запускается
- Использование gen_server обратных вызовов.
- Есть только один экземпляр этого модуля бега или есть несколько экземпляров модуля работает одновременно - Если несколько, то сколько таких случаев?
Мне также было любопытно, что нужно сделать, чтобы написать настраиваемый модуль, чтобы иметь возможность обрабатывать большое количество запросов одновременно.
Не могли бы вы предоставить несколько указателей?
Я очень новичок в erlang и ejabberd. Пожалуйста, помогите мне понять, как ejabberd заботится о высоких требованиях.
С наилучшими пожеланиями,
так, например, для каждого режима offline_message, ejabberd будет порождать процесс erlang? – GJain
@ user2384694 offline_message, вероятно, помещается в очередь (или таблицу, которая работает как очередь), которая выставляется на основе некоторых критериев (например, предполагаемый пользователь, подключенный к сети). Но вам нужно будет проверить код, чтобы быть уверенным; ejabberd известен своей плохой документацией - место, чтобы понять это, вероятно, будет RabbitMQ (он был первоначально основан на ejabberd, но лучше документирован и немного легче понять IMO).В любом случае сообщения - это просто сообщения (а не процессы), но пользовательское соединение и другие элементы системы (каналы и т. Д.) - это процессы. – zxq9
Большое спасибо за ваши ответы – GJain