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上報消息。