hanbo-push分布式消息推送、IM服务

hanbo-push分布式消息推送、IM服务

系统概览

app接入除了接入restApi(push-admin)之外,还需要兼容connector(push-admin的client,用于和push-server通信)的通信协议。

基于protostuff编解码,协议定义参考PushRequest.java/PushResponse.java。

推送:只有下行消息(服务端到app)

IM:分上下行消息(app到服务端再到app)



演示

1.创建开发者账号

2.创建app



APP设备注册



APP鉴权

推送:鉴权成功后拿到真实的推送服务ip地址,然后建立长连接并发起注册请求,后续等待后台推送消息即可。

IM:同上述流程,只不过前提需要建立好友、群组等关系,ok后就可以发起聊天了。

3.选择APP,点击发布消息




4.admin收到推送指令,下发给所有当前app关联的设备id



6.推送服务收到admin转发的推送指令,依次下发到注册设备的长连接上



7.客户端收到来自管理员的推送消息



架构图

app为移动设备,3rdparty为三方服务(一般时服务端)。

模块讲解

restApi(admin),开放给三方的功能接口。

开发者注册

app设备鉴权

好友管理

群组管理

推送管理

connector

连接pushServer的桥梁,内置在pushAdmin

自动发现服务

一致性hash路由

客户端故障转移

router

维护用户和连接的映射

维护用户和服务的映射

pushServer

注册连接

推送消息

路由转发

webProxy

对connector做了一层封装,暴露websocket协议

推送流程

IM流程大致同推送流程,只不过多了一层上行消息(通过restApi发布消息,pushServer再基于好友/群组关系路由到各个对端应用)。

私信回复"hanbo-push"获取链接地址,喜欢的点个关注,一起学习探讨新技术。

© 2019 爱讯头条 秀色女神

京ICP证140141号 邮箱: joy611@126.com