XMPP 服务器:ejabberd vs openfire vs prosody
XMPP server : ejabberd vs openfire vs prosody
我正在尝试弄清楚 XMPP 是如何工作的(总的来说是协议的初学者)并且我想设置一个服务器。
到目前为止,我看到了 3 个主要挑战者:
- ejabberd
- 开火
- 韵律
我查看了一些网站和 the wikipedia,但我看不出所有这些网站的优缺点。
我在哪里可以找到一些可以理解的信息?
PS :如果上下文在某种程度上很重要,我想将我的服务器设置在我个人的 raspberry pi 上(所以没有那么多的处理能力),我的最终目标是使用 XMPP使用 google 云消息传递的小 android 应用程序
如果您运行在 RaspberryPI 上安装您的服务器,我会选择 Prosody。
它非常轻巧,用 Lua.
编写
Openfire java 需要大量资源才能 运行,即使在小型环境中也是如此。
有很多简约的替代品,但这完全取决于您寻求的功能级别。
我的顶级 XMPP 服务器软件
顶部:统计用途
- 1) Ejabberd (61.6279%)
- 2) 韵律 (17.0543%)
- 3) 开火 (7.36434%)
上:多核使用
1) Ejabberd 和 Openfire
2) --- !
顶部:内存使用
- 1) 韵律
- 2) Ejabberd
- 3) 开火
顶部:网络管理员
1) 开火
2) Ejabberd
3) 否(默认)
顶部:编程语言
1) Openfire (Java) 和 Prosody (Lua)
2) Ejabberd(Erlang)
个人/Raspberry pi/ejabberd vs openfire vs prosody =( 我的选择)Prosody
统计用途(俄罗斯维基百科):
评论(俄罗斯维基百科):
http://wiki.404.city/%D0%94%D0%B6%D0%B0%D0%B1%D0%B1%D0%B5%D1%80
参与测试开源 XMPP web 客户端(JSXC) against ejabberd and Prosody,我注意到以下差异。请注意,我用 ejabberd 做的更多,所以自然会有更多的挑剔,但是也多点赞。
Ejabberd
优点
- 已实施的机制通常坚如磐石,可能是因为背后有一家公司提供需要这种质量的服务。
- 使用
ejabberdctl
和管理 Web 界面,可以在 运行 的过程中 配置很多东西。即使您需要大量修改配置文件,重新加载它们也能做到正确,不会中断。
- ejabberd 可以很容易地变成一个 集群 以提高可靠性或性能
- 带有内置 STUN/TURN 服务器
- 共享名册组非常强大,但也需要习惯。
缺点
- 文档主要是基于选项的,即描述选项,类似于手册页。关于选项如何交互、最佳实践用法或实际放置选项的位置(尤其是在虚拟主机环境中)的示例和描述更少。
- 如果你想扩展 ejabberd,你需要能够掌握Erlang,一种非常强大的语言,但与编程语言有很多不同大多数初学者学习。
- External Service Discovery (
extdisco
) 也(尚)不受支持。
韵律
优点
- 有很多 社区模块,因为 Lua 编程语言更容易访问。
- 作为一个纯粹的社区项目,如果你愿意投入时间,你真的可以塑造项目。
- 是否支持
extdisco
(需要较少的客户端配置)和mam:2
(客户端更好地支持)
缺点
- 一些模块(对我来说,最值得注意的是 external authentication mechanism) are unreliable。
- 必须重新启动才能进行更多配置更新,即客户端将断开连接并必须重新连接,通常会导致已offline/come联机 给用户的通知。 [更新:我确实知道
mod_reload_modules
,这可以避免一些或这些重新启动。谢谢,博士!]
No persistence for PEP/PubSub (Personal Eventing Protocol; Publish-Subscribe) data. This makes it unusable for both bookmarking (e.g., multi-user chats) and XMPP-based social networks such as Movim
如果您是 XMPP 服务器 setup/Lua(或兼容的编程语言)的新手,我建议您使用 Openfire。 Web 管理控制台使设置变得非常简单。有多种插件可满足各种不同的需求。但请注意,Openfire 为自己保留了 >1GB 的内存。
我正在尝试弄清楚 XMPP 是如何工作的(总的来说是协议的初学者)并且我想设置一个服务器。
到目前为止,我看到了 3 个主要挑战者:
- ejabberd
- 开火
- 韵律
我查看了一些网站和 the wikipedia,但我看不出所有这些网站的优缺点。
我在哪里可以找到一些可以理解的信息?
PS :如果上下文在某种程度上很重要,我想将我的服务器设置在我个人的 raspberry pi 上(所以没有那么多的处理能力),我的最终目标是使用 XMPP使用 google 云消息传递的小 android 应用程序
如果您运行在 RaspberryPI 上安装您的服务器,我会选择 Prosody。 它非常轻巧,用 Lua.
编写Openfire java 需要大量资源才能 运行,即使在小型环境中也是如此。
有很多简约的替代品,但这完全取决于您寻求的功能级别。
我的顶级 XMPP 服务器软件
顶部:统计用途
- 1) Ejabberd (61.6279%)
- 2) 韵律 (17.0543%)
- 3) 开火 (7.36434%)
上:多核使用
1) Ejabberd 和 Openfire
2) --- !
顶部:内存使用
- 1) 韵律
- 2) Ejabberd
- 3) 开火
顶部:网络管理员
1) 开火
2) Ejabberd
3) 否(默认)
顶部:编程语言
1) Openfire (Java) 和 Prosody (Lua)
2) Ejabberd(Erlang)
个人/Raspberry pi/ejabberd vs openfire vs prosody =( 我的选择)Prosody
统计用途(俄罗斯维基百科):
评论(俄罗斯维基百科):
http://wiki.404.city/%D0%94%D0%B6%D0%B0%D0%B1%D0%B1%D0%B5%D1%80
参与测试开源 XMPP web 客户端(JSXC) against ejabberd and Prosody,我注意到以下差异。请注意,我用 ejabberd 做的更多,所以自然会有更多的挑剔,但是也多点赞。
Ejabberd
优点
- 已实施的机制通常坚如磐石,可能是因为背后有一家公司提供需要这种质量的服务。
- 使用
ejabberdctl
和管理 Web 界面,可以在 运行 的过程中 配置很多东西。即使您需要大量修改配置文件,重新加载它们也能做到正确,不会中断。 - ejabberd 可以很容易地变成一个 集群 以提高可靠性或性能
- 带有内置 STUN/TURN 服务器
- 共享名册组非常强大,但也需要习惯。
缺点
- 文档主要是基于选项的,即描述选项,类似于手册页。关于选项如何交互、最佳实践用法或实际放置选项的位置(尤其是在虚拟主机环境中)的示例和描述更少。
- 如果你想扩展 ejabberd,你需要能够掌握Erlang,一种非常强大的语言,但与编程语言有很多不同大多数初学者学习。
- External Service Discovery (
extdisco
) 也(尚)不受支持。
韵律
优点
- 有很多 社区模块,因为 Lua 编程语言更容易访问。
- 作为一个纯粹的社区项目,如果你愿意投入时间,你真的可以塑造项目。
- 是否支持
extdisco
(需要较少的客户端配置)和mam:2
(客户端更好地支持)
缺点
- 一些模块(对我来说,最值得注意的是 external authentication mechanism) are unreliable。
- 必须重新启动才能进行更多配置更新,即客户端将断开连接并必须重新连接,通常会导致已offline/come联机 给用户的通知。 [更新:我确实知道
mod_reload_modules
,这可以避免一些或这些重新启动。谢谢,博士!] No persistence for PEP/PubSub (Personal Eventing Protocol; Publish-Subscribe) data. This makes it unusable for both bookmarking (e.g., multi-user chats) and XMPP-based social networks such as Movim
如果您是 XMPP 服务器 setup/Lua(或兼容的编程语言)的新手,我建议您使用 Openfire。 Web 管理控制台使设置变得非常简单。有多种插件可满足各种不同的需求。但请注意,Openfire 为自己保留了 >1GB 的内存。