nextalk消息服务器,NexTalk消息服务器设计.PDF

NexTalk消息服务器设计

NexTalk消息服务器设计

?文档版本: 5.6 发布时间: 2014/10/15

架构简介

NexTalk 基于WEB标准协议架构设计,??目标是为WEB站点或应?用快速 便捷的集成即时消息。

NexTalk架构上分离WebIM服务器与消息服务器,客户站点的WEB服务 器与NexTalk提供的WebIM插件集成,NexTalk消息服务器直接负责浏览 器?长连接和消息路由。

WebIM插件负责与??网站的?用户资料、好友关系、群组关系集成,访问站 点的数据库。NexTalk在WebIM on GitHub上提供了丰富的程序开发库 和框架集成包,包括PHP、Java、.Net、Python、Ruby等。

消息服务器负责处理跨域的?长轮询(JSONP)或?长连(WebSockt),?用户登 录社区??网站的WebIM后,?用户浏览器直接与消息服务器建?立连接,完全 不占?用站点的连接资源。

消息服务器采?用Erlang并发编程语?言开发,单服务器可?支持10万以上在 线连接,集群服务器可?支持100万在线连接。

消息服务器设计

NexTalk消息服务器采?用Erlang并发编程语?言开发,低系统资源消耗, ?支持?大量并发连接。

消息服务器的核?心是MQTT协议,基于MQTT定义的Topic匹配?方式进?行 消息路由。主要模块包括HTTPD模块、JSONPD模块、 WebSocket模 块、路由模块、MQTT模块、认证模块和统计模块。

消息服务器提供了多协议的外部接?口,包括HTTP REST接?口、JSONP 轮询接?口、WebSocket接?口、MQTT客户端接?口。

消息服务器?支持多服务器集群,可平滑扩展到100万连接?用户规模。

线上?用户、访客、群组、服务可表述为?一个Endpoint进程,消息通过 HTTP接?口发送,推送给Jsonp、Websocket、MQTT等接收接?口。

消息路由设计

NexTalk5版本的消息路由机制,基于MQTT协议设计,以?方便?支持?手机 和桌?面。

MQTT协议规范详?见:

Address设计

?用户、访客、群组(聊天室)、服务表述为?一个Endpoint对象,Endpoint 对象唯?一的寻址标识为:

domain/{domain} /{node}/{nodeId} /client/{clientId}

举例:

/domain/nextalk.im/uid/1/client/chrome /domain/nextalk.im/vid/219392/client/android

字段 domain node nodeId clientId

值 域名 节点(uid,vid,gid,sid枚举) ?用户ID、访客ID、群组ID等 登录终端标识,例如Android,浏览器

Queue设计

Queue名称 ?用户Queue 群组Queue 服务Queue 访客Queue

Queue结构 /domain/${domain}/uid/${uid} /domain/${domain}/gid/${gid} /domain/${domain}/sid/${sid} /domain/${domain}/vid/${vid}

路由设计

JSONP

——————————Desktop

||

MQTT

||

WebSocket

———————————Mobile

消息流程

title Message Route User1->HTTPD: POST /v5/messages

HTTPD-->Endpoint1: Message Endpoint1-->Router: Message Router-->Endpoint2: Message alt WebSocket

Endpoint2-->WebSocketd: Message else JSONP

Endpoint2-->Jsonpd: Message end alt WebSocket

WebSocketd-->User2: JSON Data else JSONP

Jsonpd-->User2: JSON Data end

HTTP接?口设计

WebIM插件与消息服务器间的HTTP REST接?口,WebIM插件转发?用户 上下线、现场、消息、状态 给消息服务器,从服务器读取当前在线?用 户、群组成员等信息。HTTP接?口列表如下:

标识

名 ?方法

URL

说 明

ONLINE

?用 户 上 线 POST /v5/presences/online 接 ?口

OFFLINE

?用 户 下 线 POST /v5/pr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值