高弹性、高性能SMS网关 ——突变流量应对实战 阿里云云通信架构师/张松然 困知勉行——出自《论语》 2011年加入京东,2019年进入阿里云,一直工作在网关实时通信方向,先后负责过APP、SMS网关的开发,专注于云原生高可用架构演进,目前担任融合通信方向的架构师。 目录 •01SMS通信的不断演变 •02架构重塑 •03性能之巅 •04未来展望 Part1. •SMS通信的不断演变 挑战:突变流量如何确认SMS网关稳定高效? SMS短信网关是通信网络中负责收发短信的核心系统 5万级 并发量大 10万级 峰值高 (QPS) 5千级 资源量(核) 预留成本 突变流量 周期流量 重点:引入云原生和弹性架构的升级密钥 CUSTOMERSMSGWSMSCENTERUSER 1992年 世界上第一条短信发送成功 2001年 中国短信业务量189亿条 2008年 中国短信业务量5900+亿 2020年 2017年 阿里云通信起步 阿里云通信双级 11支撑十万 QPS 重点:引入云原生和弹性架构的升级密钥 高可用,分钟级故障隔离及恢复高性能,低延迟,秒级触达 网关组网/路由 低成本,负载感知,弹性可伸缩 管控 Gateway 提供稳定、安全、低延时的实时音视频通信、短信通信服务 Networking/Routing 实现全球多地域的通信线路&通信资源的快速接入,以及组网、路由、线路规划等 Managementandcontrol 实现全球通信网络节点建设&多Region集群部署,以及CloudOps运维能力 业务资源 网络云原生K8s容器化环境 客户专线接入网关 通信资源 安全协议/转码信令/媒体资源 资源互通 负载 服务边车/代理 阿里云Serverless容器化环境 应用网关 中继/转发数据分发业务编排 中心管控和组网 中心站 地域站 边缘站 地域站中心站 边缘站 目的:实战架构选择、成本控制和性能保障 网关&管控 组网&管控 高可用(多Region) 华东融合接入华南融合接入… 东南亚融合接入欧洲融合接入 安全组网(高性能) 主备多活&分钟级故障隔离 跨区、跨国家高可用切换 细化完善网关全链路的监控指标 高弹性(低成本) 中心弹性扩缩容(最优利用率) 控制与作业解耦,网关云原生+微服务中心基于流量实现负载感知弹性伸缩 地域节点可热部署 节点可热部署化,具备垂直弹性伸缩有状态节点基于连接弹性可伸缩 CMPP/SMPP/SIPAPI/QueueSDK NoSQL IaC+容器 MQ Appstack 微服务生态 云原生生态 云原生通信网关 安全类组件 信令控制层(配置/数据中心) 高可用组件 WAF 通信作业内核 组网/路由 通信网关路由算法 文本/媒体 GatewayKernel管控CLoudOps 弹性可伸缩 可观测质量 IPSec 负载容灾 ACL CloudOps 多地域部署 多协议转化 自定义连接数 资源共享 多租户管理 Nacos 全球加速 Arms PVL+CEN 华东售卖华南售卖区香港售卖区XX售卖区国际售卖区 云原生底座+异构云部署支持 重点覆盖&低延迟 支持规模化运维管控,全球多云组网智能化就近接入地域节点 多路动态智能路由&低延迟 基于实时链路探测实现动态选路规划网络健康度检测模型,治理逃生策略调整网关路由算法减少发送耗时 大规模使用网关多次重试优化发送质量 国际化(可扩展) 标准模块化&全球一体化架构 支持国际站快速建站,支持异构云部署支持差异化业务模块编排和组装 2019 2021 2022 集群规模化 资源云化 云架构升级 多活负载 国际化 轻量级网关 积压调度 稳定性治理 多级重试 重点围绕接入能力提升, 高可用构建能力矩阵重点突破 高弹性、低成本 2023 规模化上云统一通信网高弹性 2024 运维智能化CloudOps低成本 Part2. •架构重塑 传统架构的局限,为何我们需要变更? 网关管理系统ECS 资源管理ChannelManager 节点管理NodeManager 可扩展性有限 传统架构难以水平扩展,处理不了大量并发用户和动态变化的负载 协议插件 协议插件 节点管控 网关单体架构ECS Security&Safety 可靠性&容错性 集中式系统出现单点故障和风险更高,局部问题可能影响整个服务的可用性 会话管理 ProtocolPlugins SessionController SessionController ProtocolPlugins 更新不灵活 NodeController Monitoring&Control 性能瓶颈 客户 一个小的需求也需要重新部署整个应 用,增加了发布的复杂性和风险客户 技术负债&系统维护成本高 紧耦合的架构很难采用新技术,随着业务增长和系统演进,传统架构变得越来越复杂,导致维护难度提高 业务处理模块BizProcessing 会话管理 数据处理DataProcessing 消息/通信总线ServiceBus 运营商 在用户基数大福增长的情况下,旧有架 客户构往往无法有效支撑 成本控制困难 因为业务的波动性,可能大多数时间资源都未得到充分利用,但在业务激增时又不能很好满足 阿里云内部业务应用系统 云原生与弹性,为SMS网关注入新活力 2020~2022上云1.0 Rehost 2023~2024上云2.0 Re-platform&Re-architect 2024~未来上云3.0 上云发展与演进 显著特点 能力要求 国际站“探索式”上云业务直接搬迁云上 依靠个人能力,且缺少工具的支撑 复杂架构的上云 更加理性的上云,选择最优路径,助力业务发展新的技术、架构 直接在云上新建系统安全合规,容灾的要求 云原生技术架构、容灾高可用 让云发挥更大的生产力 核心系统、稳定性、可靠性更高构建以云为基础的新能力 持续提升云效率 容器化与微服务 技术目标与计划 弹性伸缩和自动化 商业目标和价值 提升业务敏捷性 推动应用容器化,以及服务的微服务化分割,从而提升应用的灵活性和开发效率 持续集成/持续部署(CI/CD) 升自动化构建、测试和部署流程,减少上线时间和降低部署风险 DevSecFinOps整合 在DevOps的基础上,集成安全性设计,确保整个应用开发流程的安全性 利用Serverless等先进的容器编排能力,提高资源的动态调度能力,实现自动化的伸缩、自愈和部署 统一的服务网格 实现服务网格技术在组织中的广泛应用,以统一微服务间的连接、监控和安全性 增强的监控和可观测性 扩展工具和平台的监控功能,使性能数据的收集和分析更为全面和深入 通过云原生架构的灵活性,快速响应市场变化,实现新功能和服务的快速迭代 降低成本 通过自动化和优化资源利用率,降低基础设施成本和人工运维成本 改善交付体验 通过快速部署和持续交付,利用云原生提供的高可用性和低延迟服务,增强交付满意度 全球融合通信网络 国际M中心站国际N节点 国际K中心站 中心站 (控制面+数据面+传输面) 通信云站点建设 控制面短信语音隐私号 号码认证号码百科 中国中心站 国际D节点 国内A节点 地域站 (数据面+传输面) 数据面 统一接入调度决策应用网关 统一接入调度决策应用网关 统一接入调度决策应用网关 国内B节点 国际B中心站 边缘站 (传输面) 传输面 接入网关接入网关接入网关 边缘加速边缘加速边缘加速边缘加速 国际X站点 全球融合通信网络架构 低成本架构,不只是技术,更是策略 nacosdubbo 24种中间件使用占比 成本占比 安全 安全合格隔离 提质 业务可持续&稳定 控本 保证架构合理成本最优 polardbecsrocketmqredisnls/eip/nat其它其它 11% pandarapolardb ossredisrocketmqvipserverscheduleX vipredistbshedule bpmsnotifyzookeeper mnslindormconfig slbeipmqtvpnnat nls/eip/nat6% redis6% rocketmq11% 应用网关 面向中心/地域站部署 接入网关 面向地域/边缘站部署 网关/边缘加速 面向边缘站部署 规模化全球业务多分组隔离多国多Region部署 异构资源标准化/虚拟化/资源共享异构稀缺资源接入能力 全球加速全球覆盖/秒级触达网络安全加固/边缘网络 无状态无状态弹性伸缩资源无损平滑迁移 多云部署基于云原生容器化部署 就近部署边缘节点/VPN网关 ecs27% polardb39% 应用层 通用应用弹性模型 领域应用弹性模型 高弹性SMS网关 了解为什么SMS网关的高弹性是关键,特别是在处理突发或不规则流量时 固定资源 定时弹性 指标弹性(CPU内存) HPV水平伸缩VPA垂直伸缩 CronHPA定时伸缩AHPA预测弹性伸缩 Keda事件驱动伸缩Knative无服务弹性框架 Elastic精细化调度弹性领域弹性 资源层 通用资源弹性模型 ACK/ServerlessASK无服务自动伸缩 Clusterautoscaler节点自动伸缩 基础设施 通用基础设施弹性模型 数据库自动扩容PolarDB 云存储自动扩容CSI 高可用设计确保无间断服务 了解云原生技术、微服务架构和容器化等技术在SMS网关中的应用,以及这些技术如何提高服务的可靠性和扩展性 接入网关 连接 客户 消息推送 会话管理 系统级熔断 熔断 客户 连接 客户 熔断 消息回调 客户 应用网关 P1 数据连接器 P2业务处理模块P3 业务数据处理 提交/回执重试 转历史 PolarDBCSI 回执中心 数据连接器 P1P2P3 VPA Elastic CHPA HPA Clusterautoscaler节点自动伸缩 ACK/ServerlessASK无服务自动伸缩 阿里云弹内集群 应用ECS系统 数据库系统 高弹性SMS网关背后的部署策略 阿里云A独立VPC 客户B独立VPC CLB/SLB EIP EIP DNS NAT网关 Ingress PrivateZone 虚拟交换机VSwitch 虚拟交换机VSwitch 虚拟交换机VSwitch 弹性网卡eni 弹性网卡eni 弹性网卡eni 弹性网卡eni 弹性网卡eni 全托管产品VPC K8s全托管集群 eni eni eni eni eni 独立VC 公共VC Pod Pod Pod Pod Pod Master Koastline Serverless全托管集群 Serverless资源池 K8s资源池 驻外资源池 Master IDC IDC ESC CVM CVM ACR 镜像服务 Slave 云盘 云盘 云盘 云盘 云盘 应用PaaS系统 Aone Appstack ASO 阿里云云上集群 应用Serverless系统 应用K8s系统 数据库系统 DevOps/GitOps Image 了解阿里云云通信如何成功实现并部署高弹性的SMS网关,以及在此过程中的挑战和解决方案 高可用设计确保无间断服务 了解云原生技术、微服务架构和容器化等技术在SMS网关中的应用,以及这些技术如何提高服务的可靠性和扩展性 高可用 配置热更新服务动态降级限流熔断保护和超时控制监控告警容灾演练易地多活 Part3. •性能之巅 高性能网关 CMPP2.0/CMPP3.0/SMPP/MNS开放(入口) 路由引擎(通道虚拟化、多协议转化、流量转发与控制、多租户管理) CMPP2.0/CMPP3.0/SMPP/SGIP/SMGP/MNS协议对接开放(出口) 内部:链路耗时优化 细分耗时统计 解决内部埋点和失准问题 传输耗时优化 压缩传输比率进行传输加速 通道质量画像 实时探测QPS协同调度弹性调度 高弹性SMS网关背后的高性能架构与优化策略 弹内QPS 实时