高性能 xmpp 服务器 ejabberd

ejabberd是一个用Erlang/OTP语言写的自由和开源的即时消息服务器.

ejabberd是跨平台,分布式, 容错, 并基于开放标准的实时通讯系统.

ejabberd的设计坚若磐石,是一个功能服丰富的XMPP服务器.

ejabberd同时适合小规模布署和超大规模布署, 无论它们是否需要可伸缩性.


关键功能

ejabberd是:

  • 跨平台的: ejabberd可以运行在Microsoft Windows和Unix派生系统,例如Linux, FreeBSD和NetBSD.
  • 分布式的: 你可以在一个集群的机器上运行ejabberd,并且所有的机器都服务于同一个或一些Jabbe域. 当你需要更大容量的时候,你可以简单地增加一个廉价节点到你的集群里. 因此, 你不需要买一个昂贵的高端机器来支持上万个并发用户.
  • 容错: 你可以布署一个ejabberd集群,这样一个正常运行的服务的所有必需信息将被复制到所有节点. 这意味着如果其中一个节点崩溃了, 其他节点将无中断的继续运行. 另外, 也可以‘不停机’增加或更换节点.
  • 易于管理: ejabberd建立于开源的Erlang. 所以你不需要安装外部服数据库, 外部web服务器, 除此以外因为每个东西都已经包含在里面, 并且处于开箱可用状态. 其他管理上的好处包括:
    • 详尽的文档.
    • 便捷的安装程序,包括在Linux, Mac OS X, 以及Windows系统下.
    • Web管理.
    • 共享名册组.
    • 命令行管理工具.
    • 可外部集成的验证机制.
    • 发送匿名消息的能力.
  • 国际化: ejabberd领导国际化. 非常适合全球化. 相关功能包括:
    • 翻译成25种语言.
    • 支持IDNA.
  • 开放标准: ejabberd是的一个完全支持XMPP标准的开源Jabber服务器.
    • 完全兼容XMPP.
    • 基于XML的协议.
    • 支持的协议很多.

额外功能

而且, ejabberd广泛支持的其他先进特性:

  • 模块化
    • 只装在你想要的模块.
    • 在你自己的自定义模块扩展ejabberd.
  • 安全性
    • 支持c2s和s2s连接的SASL和STARTTLS.
    • 支持s2s连接的STARTTLS和Dialback.
    • 可通过HTTPS安全访问的Web管理.
  • 数据库
    • 快速布署的内部数据库(Mnesia).
    • 原生的MySQL支持.
    • 原生的PostgreSQL支持.
    • 支持ODBC数据存储.
    • 支持Microsoft SQL Server.
  • 验证
    • 内部验证.
    • PAM, LDAP 和 ODBC.
    • 外部验证脚本.
  • 其他
    • 支持虚拟主机.
    • XML流压缩 (XEP-0138).
    • 统计 (XEP-0039).
    • 支持IPv6的c2s和s2s连接.
    • 支持集群和HTML日志的多用户聊天模块.
    • 基于用户vCards的用户目录.
    • 支持基于PubSub的个人事件的发行-订阅组件.
    • 支持web客户端: HTTP轮询和HTTP绑定(BOSH)服务.
    • IRC网关.
    • 组件支持: 安装特定网关之后和外部网络的接口,如 AIM, ICQ 和 MSN.

模块一览

下表列出ejabberd里的所有模块.


模块 功能 依赖
mod_adhoc 特定命令 (XEP-0050)  
mod_announce 管理公告 推荐 mod_adhoc
mod_caps 实体能力 (XEP-0115)  
mod_configure 使用特定命令配置服务器 mod_adhoc
mod_disco 服务发现 (XEP-0030)  
mod_echo XMPP节回音  
mod_irc IRC网关  
mod_last 最后活动 (XEP-0012)  
mod_last_odbc 最后活动 (XEP-0012) 支持的数据库 (*)
mod_muc 多用户聊天 (XEP-0045)  
mod_muc_log 多用户聊天室记录 mod_muc
mod_offline 离线消息存储 (XEP-0160)  
mod_offline_odbc 离线消息存储 (XEP-0160) 支持的数据库 (*)
mod_ping XMPP Ping 和定期保持连接 (XEP-0199)  
mod_privacy 禁止通讯 (XMPP IM)  
mod_privacy_odbc 禁止通讯 ((XMPP IM) 支持的数据库 (*)
mod_private 私有XML存储 (XEP-0049)  
mod_private_odbc 私有XML存储 (XEP-0049) 支持的数据库 (*)
mod_proxy65 SOCKS5字节流 (XEP-0065)  
mod_pubsub 发行-订阅 (XEP-0060), PEP (XEP-0163) mod_caps
mod_pubsub_odbc 发行-订阅 (XEP-0060), PEP (XEP-0163) 支持的数据库 (*) 和 mod_caps
mod_register I带内注册 (XEP-0077)  
mod_roster 名册管理 (XMPP IM)  
mod_roster_odbc 名册管理 (XMPP IM) 支持的数据库 (*)
mod_service_log 拷贝用户消息到日志服务  
mod_shared_roster 共享名册管理 mod_roster 或 mod_roster_odbc
mod_sic Server IP检查 (XEP-0279)  
mod_stats 统计信息收集 (XEP-0039)  
mod_time 实体时间 (XEP-0202)  
mod_vcard 电子名片 (XEP-0054)  
mod_vcard_ldap 电子名片 (XEP-0054) LDAP服务器
mod_vcard_odbc 电子名片 (XEP-0054) 支持的数据库 (*)
mod_vcard_xupdate 基于vCard的头像 (XEP-0153) mod_vcard 或 mod_vcard_odbc
mod_version 软件版本 (XEP-0092)

你可能感兴趣的:(高性能 xmpp 服务器 ejabberd)