在系统架构上,云通讯系统主要面临三大挑战:
1、不同类型短信间的相互影响
不同类型的短信特点不一样,比如验证码短信实时性要求非常高,能多快就多快、营销短信虽然实时性要求没那么高,但数量巨大,峰值 QPS 可能会过万。
2、运营商情况复杂,稳定性问题突出 运营商的情况比较复杂,这其中会遇到各种各样的问题。首先是突发事件,比如在杭州 G20 期间有些通道就无法正常运转。其次有些代理商服务稳定性不高,RT 会需要 2-3s。另外也有些代理商会限制短信类型,比如只能发带验证码的短信。最后还有速率限制,有些通道最高 2000/s,有些 200/s 通道间容量不一致。
3、产品频繁迭代的过程中如何保障系统稳定性 云片的产品一直在进行快速迭代,像报表、统计等功能,基本每周要发两个版本,在快速迭代过程中如何保证产品核心流程的稳定也是系统架构设计中的挑战。
基于以上挑战,云片设计了“异步解耦”的分布式系统架构。