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极光推送后台系统架构极光推送后台系统架构020200707050504040808模块化异步化并行化缓存化程序及系统优化基础组件服务化链接管理系统安全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结束语 高性能/低成本、高可用、高运维 只用验证过的开源组件 自研替代开源 能并行就不要串行 能异步就不要同步 保持简单,快速迭代 不要过早优化,架构是演进出来的极光推送后台系统架构极光推送后台系统架构