Ответ 1
Приняв участие в тестировании XMPP-клиента с открытым исходным кодом (JSXC) в отношении ejabberd и Prosody, я заметил следующие различия. Обратите внимание, что я сделал больше с ejabberd, так что, естественно, будет больше придирки, но и больше похвалы.
ejabberd
Доводы
- Механизмы, которые были внедрены, обычно надежны, вероятно, из-за того, что за ними стоит компания, предлагающая услуги, требующие такого качества.
- С помощью
ejabberdctl
и веб-интерфейса администратора можно настраивать многие параметры во время выполнения процесса. Даже если вам нужно сильно дотронуться до конфигурационных файлов, их перезагрузка работает правильно, без перерыва. - ejabberd можно легко превратить в кластер для надежности или производительности
- Поставляется со встроенным STUN/TURN сервером
- Группы общего реестра очень мощные, но к ним нужно привыкнуть.
Против
- документация в основном основана на опциях, т.е. описаны опции, аналогично странице руководства. Существует несколько примеров и даже меньше описаний того, как взаимодействуют параметры, каков наилучший способ их использования или где вы могли бы разместить этот параметр, особенно в среде виртуального хостинга.
- Если вы хотите расширить ejabberd, вам нужно уметь понимать Erlang, очень мощный язык, но с некоторыми отличиями от языков программирования, которые изучают большинство начинающих.
- Обнаружение внешних служб (
extdisco
) (пока) также не поддерживается.
Просодия
Доводы
- Имеет множество модулей сообщества из-за более легкой доступности языка программирования Lua.
- Если вы хотите потратить время на проект сообщества, вы действительно можете сформировать проект.
- поддерживает
extdisco
(требуется меньше настроек клиента) иmam:2
(лучше поддерживается клиентами)
Против
- Некоторые модули (для меня наиболее заметным из них был механизм внешней аутентификации) ненадежны.
- Должен быть перезапущен для дополнительных обновлений конфигурации, т.е. клиенты будут отключены и должны будут повторно подключиться, что обычно приводит к отключению/приходу уведомлений для пользователей. [Обновление: я знал о
mod_reload_modules
, который мог бы избежать некоторых или этих перезапусков. Спасибо, д-р!] Нет данных для данных PEP/PubSub (протокол личных событий; публикация-подписка). Это делает его непригодным для закладок (например, для многопользовательских чатов) и для социальных сетей на основе XMPP, таких как Movim