同步操作将从 lucas/hanbo-push 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
最近看到一篇关于百万级推送架构的介绍,正好解决了之前一直想做但没有做的难题,于是乎在工作空闲之余手撸了一遍。项目源码请移步这里
app接入除了接入restApi(push-admin)之外,还需要兼容connector(push-admin的client,用于和push-server通信)的通信协议。
基于protostuff编解码,协议定义参考PushRequest.java/PushResponse.java。
推送:只有下行消息(服务端到app)
IM:分上下行消息(app到服务端再到app)
推送:鉴权成功后拿到真实的推送服务ip地址,然后建立长连接并发起注册请求,后续等待后台推送消息即可。
IM:同上述流程,只不过前提需要建立好友、群组等关系,ok后就可以发起聊天了。
app为移动设备,3rdparty为三方服务(一般时服务端)。
restApi(admin),开放给三方的功能接口。
开发者注册
app设备鉴权
好友管理
群组管理
推送管理
connector
连接pushServer的桥梁,内置在pushAdmin
自动发现服务
一致性hash路由客户端故障转移
router
维护用户和连接的映射
维护用户和服务的映射
pushServer
注册连接
推送消息
路由转发
webProxy
对connector做了一层封装,暴露websocket协议
IM流程大致同推送流程,只不过多了一层上行消息(通过restApi发布消息,pushServer再基于好友/群组关系路由到各个对端应用)。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。