云信短信中心
云信是网易推出的IM技术开发平台,对外提供包括IM、短信、电话等一系列能力,立项后我被借调去开发及维护短信中心。
短信中心实现了对接多个短信服务商,动态规划短信发送量,根据业务类型规划发送优先级、动态探测短信服务商存活等一系列功能,支持了每天上亿验证码短信、通知短信和营销短信的分发,这个项目当时被评为公司优秀项目,并有幸获得了团体出国游的奖励。
短信中心的代码由我一个人独立完成,使用 Java 编写,使用了 Spring boot等框架,使用 Redis 缓存短信队列,MySql 作为数据库,Netty 对接 cmpp、smpp 等二进制短信协议,设计为高可用、高并发的分布式系统,还完成了管理接口、网页的开发,同样也包括部署和后期的维护都由我独立进行。
短信中心支持每天上亿的短信发送,曾经碰到过磁盘写满、速度不够、甚至挂掉、数据库挂掉,Redis 挂掉,各种通道延迟、挂掉等无数问题,我都积极处理,让所有故障短时间内就恢复,还在后续添加了大量保护机制,支撑了短信中心成为公司巨大的收入来源,保证了短信中心 99% 时间正常可用。