MPush開源消息推送系統:簡潔、安全、支持集羣

引言

由於之前自己團隊需要一個消息推送系統來替換JPUSH,一直找了很久基本沒有真正可用的開源系統

所有就直接造了個輪子,造輪子的時候就奔着開源做打算的,只是後來創業項目失敗一直沒時間整理

這一套代碼,最近比較閒就拿出來給開源做點貢獻。

作爲Java版的開源推送系統,MPUSH還是有很多不錯的設計的,特別是對想自己搭建一套推送系統的團隊

是有很大的借鑑意義的。當然開源出來也是不想曾經做過的工作白白浪費掉,特別希望對這方面有興趣的同學

來一起把這套東西做的更好,服務更多的用戶!

項目主頁

https://mpusher.github.io

系統介紹

mpush,是一款開源的實時消息推送系統,採用java語言開發,服務端採用模塊化設計,具有協議簡潔,傳輸安全,接口流暢,實時高效,擴展性強,可配置化,部署方便,監控完善等特點。同時也是少有的可商用的開源推送系統。

特性和優勢

1. 源碼全部開放,包括server、android、ios (不像有些開源服務只開放部分代碼,鄙視下)

2. 代碼質量高,全部模塊化設計,真正的商用級產品,考慮到推送中遇到的大部分場景

3. 安全性高,基於RSA精簡的加密握手協議,簡單,高效,安全

4. 支持斷線重連,及弱網下的快速重連,無網絡下自動休眠節省電量和資源

5. 協議簡潔,接口流暢,支持數據壓縮,更加節省流量

6. 支持集羣部署,支持負載均衡,基於成熟的zookeeper實現

7. 用戶路由使用redis集羣,支持單寫,雙寫,集羣分組;性能好,可用性高

8. 支持http代理,一根TCP鏈接接管應用大部分請求,讓http請求更加及時

9. 高度可配置化,基本上通過修改配置可滿足大部分場景

10. 擴展性強,高度模塊化,基於SPI模式的可拔插設計,以滿足特殊需求

11. 監控完善,日誌詳細,可快速排查線上問題及服務調優

教程與文檔

開發手冊:https://mpusher.github.io/docs

源碼

server https://github.com/mpusher/mpush

java-client https://github.com/mpusher/mpush-client-java

android sdk&demo https://github.com/mpusher/mpush-android

iOS sdk https://github.com/mpusher/mpush-client-swift


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章