1、关联系统调用推送接口,(1)发送定时消息,将进入PG库。QUARTZ将PG库中的数据读取进入MQ。(2)实时消息直接进入MQ。
(推送消息进入PG,拉取的消息进入mongodb)
2、fmsg组件消费MQ中的数据,将MQ中的数据调用MPUSH的resful接口。MQ中的数据按消息的优先级划分topic。优先级高的分配更多的消费者。
3、mpush中的controller分为status feedback\rest api\portal\tack container。
群推消息通过aerospike将APP对应的设备数拿到并推送。
4、android设备通过SDK向gateway注册消息。gateway返回android设备connector的地址。
android设备和connector建立并维持长连接,准备接受消息。(心跳)
5、andriod 的sdk向gateway上报统计信息。其中设备相关的且高频率的进入redis。设备相关的进入aerospike,消息相关的进入mongodb.
6、quequeproxy从redis拉取数据,写入mq.
7、ios,从controll下发人物到apns.apns和apple apns建立连接。APP apns和SDK建立连接。
8、SDK向gateway上报消息。