完美的短信平台实现
作者:互联网
01、短信介绍
在项目介绍的时候,已经定义了austin项目的核心功能:发送消息
我认为,短信是在一整个消息推送平台里最重要的一个消息类型了(毕竟关联了很多重要的业务场景),想想我们日常使用APP时的场景:
- 验证码:登录注册、支付等等重要场景
- 通知类:用户订单信息、重要信息通知用户、重要信息通知商家等等场景
- 营销类:运营在特定时间内发送营销短信,影响业务的KPI指标完成(不过这个相对就没那么重要)
- ...
(试想下,如果系统挂了10分钟,会怎么样)
发送短信在消息推送平台里比较容易实现的一种消息类型了,我会在这篇文章中让你体会发送消息如果要做得比较好也并没有那么的简单和容易,以及能够体会到为什么我在介绍austin项目的时候需要引入那么多的中间件。
(一切从一条短信开始)
02、发送短信必要准备
隔着上次的系统架构图也有好几天了,先复习下我们austin系统的整个流程
由于是初步实现,所以我先开个接口直接调用austin-handler
模块,只要在austin-handler
模块下实现发送短信的逻辑就好了。
我们要发送短信,一般直接接入短信渠道商就好了。以我的理解,发短信的过程是这样的:
正好前几天在群里,有个兄弟的就是在公司做短信渠道商的相关业务的。他说接口有20W QPS并发量(之前在搞各种的中间件优化避免消息的堆积),他进去了才知道发送一条短信原来是会经过这么多的流程(我复制下他原话)
我现在才知道,原来一条短信发到我们手机,经过了不知道多少流程,包括黑名单检查风控检查,关键字检查,退订检查,模板检查,客户账号检查,路由网关检查,通道检查,状态报告检查,运营商检查。。。。。。。
一般我们要去评估是否使用某短信渠道商来发送,考量的点有两个:成本和成功率。这里应该还是比较好理解的,短信渠道商有很多,他们都需要赚钱,我们作为接入方需要省钱(那自然就有有价格的差异性)。如果某一个渠道商又便宜发送成功率又高,那当然用他作为主要渠道啊!
这次我选择的是腾讯云作为austin项目下初步发送短信的渠道商。
我这次选择的理由很简单:我进去短信产品了以后,他免费给了我100条发送短信的体验卡(应该是人人都有的?我不可能是天命之子吧)。
我发现有很多小伙伴在跟着我的步伐在做的,我肯定不能把自己的短信账号和密码直接公开给大家体验的。所以到时候你们感兴趣可以用自己的账号体验一波。
麻烦@腾讯云给我打下广告费。@阿里云貌似有?(但入口太难找,罢了)@华为云我还没登录体验过,等等我!
想要发送一条短信又或是接入一个短信渠道商必不可少的两个点:短信模板和短信签名。看不懂?没事,我以具体的一条测试短信为例:
有了短信签名可以让用户知道这可能是谁发过来的短信,有了短信模板可以让发送垃圾短信的概率大大减少。
有人可能就会问了:那我每发一条短信,都需要有对应模板的话,那我维护起来不就非常麻烦?这毕竟是一个推送平台啊!每次有业务需要发送新的文案,还得去对应的渠道商后台申请模板吗?
本来我以为这是正常的,没想到,如果你是公司的话,还能谈的(
标签:短信,完美,平台,接口,发送,接入,渠道商,模板 来源: https://blog.csdn.net/u011001084/article/details/122427465