記錄下push推送優化改進點

一)自主研發的push服務的特色及優點:mysql

1) 消息回執確認(ack);linux

2) 有效期推送(設置消息的有效期);redis

3) 精準推送(設置設備組別推送);算法

4) 下發任務分解(拆分任務,多進程);sql

5) 長鏈接心跳(tcp長鏈接、有限狀態機fsm).mongodb

 

二)工做調優和改進的有:數據庫

1) 調整linux系統參數,erlang虛擬機參數以及TCP協議棧網絡參數調整;網絡

2) Monitor 主要用做系統狀態,進程、堆棧信息、節點狀態、gc、鏈接數等,以及服務的拉起腳本;異步

3) 對收發消息的監控,以及對正在發生的消息可取消發送處理的功能;tcp

4) mongodb的主從切換驅動完善;

5) redis支持雙寫雙讀及橫向擴展(策略);

6) mnesia數據庫的定時任務刪除過時數據;

7) 消息心跳包的測試及優化調整心跳包大小;

8) redis鏈接池驅動修改添加池成員超時時間邏輯;

9) 登陸設備和組裏設備取交集;

10) ETStimer 實現相似redisttl過時時間策略;

11) token的登陸,RSA加密算法處理,保證token的合法性;

12) 多進程接收處理不一樣queuemq來源的消息;

13) 添加完善推送渠道——廠商渠道推送(小米、華爲、oppo、魅族),提升消息到達率;

14)redismongomysql主從節點切換的監控;

15日活數(UV)的統計、消息總量的統計、每條消息的統計、當前在線設備數的統計;

16)集羣機器的動態添加節點,分發策略根據節點數和發送量,按段發送。(分而治之思想)

17) Android推送,地理庫(geoip)的添加處理,獲取登陸設備的經緯度和城市地域;

18) Rebar服務構建部署;

19) 華爲推送的http_client的修改(hackney升級、hackney換成ibowsers);

20) 華爲推送的限流大小調整(每秒1000)

21) 修復http_clienthackney開源驅動的死等的問題;

22) 接口的發送時間統計;

23) Android推送,橫向擴容(添加server節點),分佈式消息分發策略;

24) 批量存mongo,異步ets批量存儲;

25) 修改批量存mongoredis的策略;

26) 調整修改獲取access_token的方式;

27) 調整修改mongoconnection,根據建立索引的過時時間刪除記錄;

28)接收華爲push的回執消息(cowboy);

相關文章
相關標籤/搜索