《2019年海量用戶推送后臺系統架構實踐.pdf》由會員分享,可在線閱讀,更多相關《2019年海量用戶推送后臺系統架構實踐.pdf(20頁珍藏版)》請在三個皮匠報告上搜索。
1、極光推送后臺系統架構實踐極光推送后臺系統架構實踐極光開發者技術部推送開發組技術負責人極光推送服務架構 關于極光 消息推送系統面臨的挑戰 極光推送相關架構極光推送后臺系統架構 后臺系統架構基本原則 鏈接管理 系統安全 新技術的應用目錄目錄關于極光關于極光3 36 6.9 9萬開發者107.107.6 6萬APP198198億移動終端10.10.4 4億月獨立活躍設備9090%覆蓋率億級長連接用戶億級長連接用戶SDKSDK多版本并存多版本并存消息實時性消息實時性觸達率要求觸達率要求移動網絡環境復雜性移動網絡環境復雜性海量用戶數據存儲海量用戶數據存儲消息推送系統面臨的挑戰消息推送系統面臨的挑戰極光推
2、送服務架構極光推送服務架構系統通道API API 用戶篩選用戶篩選用戶分發用戶分發推送通道推送通道極光通道共享通道短信通道極光推送后臺系統架構極光推送后臺系統架構iOS SDKAndroid SDKWPhone SDKPortalConn GWSISRegisterStatCenterTagAliasSegmentOnlineCacheXPNSBroadcastPushTaskAPIJCacheJMQDB極光推送后臺系統架構極光推送后臺系統架構02020101060603030707050504040808模塊化異步化并行化緩存化程序及系統優化基礎組件服務化鏈接管理系統安全0909新技術的應用
3、K8S部署業務模塊化模塊化 模塊業務邏輯All In導致相互影響,更新升級難度大 功能按照業務拆分解耦 數據和業務分離 快速迭代 模塊間通過MQ/RPC交互極光推送后臺系統架構極光推送后臺系統架構0101SegmentConnStatCenterOnlineMsg異步化異步化 充分利用資源,減少請求等待時間,提升系統吞吐量 消息化請求 MQ-RabbitMQ,RocketMQ 模塊間解耦 IDC數據同步 異步RPC ICE-負載均衡,AMI,AMD,多線程極光推送后臺系統架構極光推送后臺系統架構0202并行化并行化 橫向擴展處理能力 數據分片存儲 多節點+分片+多副本架構 數據讀寫動態路由 請
4、求并行處理 模塊級別并行 代碼級別并行極光推送后臺系統架構極光推送后臺系統架構0303MQSegmentOnlineMsgOnlineMsgOnlineMsgData0-0Data0-1Data1-0Data1-1Data2-0Data2-1Mng0Mng2Mng3緩存化緩存化 熱點數據全部緩存 加快數據訪問,減少請求處理時間 多級緩存 本地緩存 Redis,Couchbase,LevelDB(PIKA),定制化極光推送后臺系統架構極光推送后臺系統架構0404程序及系統優化程序及系統優化 內存 靜態分配 內存池 內存對齊 CPU Affinity 網卡多隊列 用戶態協議棧(DPDK)極光推送后
5、臺系統架構極光推送后臺系統架構0505基礎組件服務化基礎組件服務化 業務方透明 統一管理 屏蔽后端變化 AutoScale,Failover,AutoRecover JMQ-RabbitMQ,RocketMQ JCache-Redis,LevelDB(PIKA)極光推送后臺系統架構極光推送后臺系統架構0606鏈接管理 量級大,網絡復雜,DDOS攻擊 動態管理 就近接入 自動化管理接入網關 自動擴容,應對網絡攻擊極光推送后臺系統架構極光推送后臺系統架構0707極光推送后臺系統架構極光推送后臺系統架構SDK管理中心健康檢測服務Conn B調度中心Conn AConn C極光推送后臺系統架構極光推送
6、后臺系統架構MQMQIDC3ConnIDC1APISegmentPushTaskXPNSMQMQIDC4ConnIDC5ConnIDC2APISegmentPushTaskXPNSMQMQIDC6Conn系統安全網絡安全對外業務隔離,異地多機房部署,健康檢查,業務快速部署及調度通信安全SSL,私有加密協議服務安全安全校驗,異常行為識別,過載保護,白名單/黑名單,服務降級監控及告警多維度監控,告警系統極光推送后臺系統架構極光推送后臺系統架構0808K8S部署業務原有系統的運維工作繁雜,資源利用率低彈性擴容配置統一管理內外集群隔離Pod包含多個容器-輔助容器,業務容器業務模塊代碼架構調整監控體系調整極光推送后臺系統架構極光推送后臺系統架構0 09 9結束語 高性能/低成本、高可用、高運維 只用驗證過的開源組件 自研替代開源 能并行就不要串行 能異步就不要同步 保持簡單,快速迭代 不要過早優化,架構是演進出來的極光推送后臺系統架構極光推送后臺系統架構