开发社交应用的利器——Ejabberd 一瞥

简介: 版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/44899559 Erlang在社交应用中的地位突显,自己搭一个大容量高并发的IM服务器变得不那么遥不可及了。
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/44899559

Erlang在社交应用中的地位突显,自己搭一个大容量高并发的IM服务器变得不那么遥不可及了。Ejabberd 正是这样一个不错的选择,至少是一个很棒的参考。对于一个4核16G内存的服务器,单个Ejabberd节点可以支持30万的IM用户。

 

ejabberd是基于Jabber/XMPP协议的即时通讯服务器,由GPLv2授权(免费和开放源码),采用Erlang/OTP开发。它的特点是跨平台,容错,集群和模块化。

 

XMPP是由IETF制定的一个可扩展的即时消息通信协议。XMPP基本有两部分组成,一部分是它的核心协议,还有一部分是扩展协议。其中核心协议主要由RFC-6120、RFC-6121、RFC-6122组成。还有一堆的扩展协议,具体可以参见XMPP官网扩展协议列表部分。一般会使用到的扩展协议包括XEP-0160 XEP-0013离线消息处理、XEP-0045多用户聊天、XEP-0096文件传输。Smack是Java语言写的XMPP Library,貌似Java中较好的XMPP客户端了。

 

Ejabberd 的系统架构如图所示:(http://docs.ejabberd.im/architect/

 

 

Ejabberd 支持的主要功能有:

l  点对点消息One-to-onemessaging

l  存储转发Store-and-forward(offline messages)

l  通讯录和状态显示

l  群聊

l  消息备档管理

l  在线状态扩展:Personal Event Protocol (PEP)和输入状态指示

l  隐私设定

l  支持vCards的用户资料

l  基于 BOSH 和 websockets的web支持

l  面向移动设备的流式管理(aka XEP-0198)

l  消息发送回执(akaXEP-184)

l  最后的消息活动

l  命令行管理工具…...

 

Ejabberd既可以使用Mnesia作为数据库,也可以是Mysql等。基于良好的可扩展性,ejabberd同样支持SIP和WebRTC。

目录
相关文章
|
18天前
|
自然语言处理 安全
线下陪玩游戏系统开发多语言/海外版/成熟技术/方案项目/源码功能
Continuing to develop an offline companion game system may involve the following aspects:
|
3月前
|
安全 搜索推荐 vr&ar
分享5款专注于实用功能的小众软件
电脑上的各类软件有很多,除了那些常见的大众化软件,还有很多不为人知的小众软件,专注于实用功能,简洁干净、功能强悍。
34 0
|
4月前
|
机器学习/深度学习 人工智能 安全
2023 Google 开发者大会:无障碍游戏体验升级、安卓开发人员生产力爆棚
2023 Google 开发者大会:无障碍游戏体验升级、安卓开发人员生产力爆棚
|
9月前
|
机器学习/深度学习 存储 人工智能
抖音团队在用的大模型服务平台「火山方舟」,我们也上手体验了一把
抖音团队在用的大模型服务平台「火山方舟」,我们也上手体验了一把
671 1
重拾梦想!语音交友源码平台搭建技术知识:在线KTV功能的实现
随着网络的快速发展,语音交友源码平台的新型功能将我们儿时的歌手梦托起,这个功能就是语音交友源码平台的在线KTV功能,对于开发语音交友平台的公司和个人来说,这个功能是非常重要的,下面我就详细为大家讲解语音交友源码平台搭建技术:在线KTV功能的实现!
重拾梦想!语音交友源码平台搭建技术知识:在线KTV功能的实现
|
12月前
|
前端开发 Linux 数据安全/隐私保护
Evernote 竞品 Notesnook 正式开源
Evernote 竞品 Notesnook 正式开源
|
12月前
|
传感器 搜索推荐 物联网
宝宝巴士与HarmonyOS携手打造更具交互性的早教体验
宝宝巴士与HarmonyOS携手打造更具交互性的早教体验
141 0
|
测试技术 Android开发
热饭的测开成果盘点第二十七期:安卓自动化平台
热饭的测开成果盘点第二十七期:安卓自动化平台
热饭的测开成果盘点第二十七期:安卓自动化平台
|
人工智能 自然语言处理 测试技术
热饭的测开成果盘点第十九期:移动端自动化智能平台
本期介绍的是移动端app智能架构平台,效果和上期一样,也是直接根据用例 来直接执行,它的初衷是可以简单的对我们测试环境几千条用例全部自动执行的框架。在具体稳定和速度上可能不如原始写法,但是对付这种上千条的大需求,是有奇效的。
热饭的测开成果盘点第十九期:移动端自动化智能平台
开发速度之我见
     有了闲暇时间,才会考虑更多(比如提高软件的品质)!那么如何“增加”闲暇时间呢?      记得我上初中的时候,有一件事情对我影响比较大。一次在学校作数学作业,老师在旁边看着我和另一位同学做数学题,过了一段时间老师说了一句话,他说,你这速度也太慢了,人家三道题都做完了,你两道还没做完呢!你比人家少做多少练习呀!      确实,这句话也太对了。
1028 0