首页 > 其他分享 >基础底层短信服务的设计思路

基础底层短信服务的设计思路

时间:2023-08-29 09:55:06浏览次数:46  
标签:短信 供应商 发送 失败 思路 哪家 模板 底层

1.短信定义模板,根据模板ID,模板内容,模板内容中的符号来替换成真实的内容来发送。可以支持动态的调整短信模板文案。

2.如果接入多家短信服务供应商,根据不同的发送比例来配置选择哪家供应商的比例,可以按100来作为基准,然后根据配置大小,
每次发送短信的时候,随机生成一个100以内的随机数,落到哪个区间,则选择哪家供应商。且一旦选择哪家,需要将当前的订单号绑定该供应商,可以将选择值存入redis中。
业务上可以归一到一个订单只选择一家供应商来发送。

3.兼容某家供应商发送失败的,可以在接收到错误码的情况下,自动切换到另外一家供应商,减少发送失败的概率。

4.每次发送之前,需要先将手机号,模板ID,模板内容,哪家供应商等基础信息先入库保存,发送结束之后,再更新发送的结果,成功或失败,失败的原因,失败的时间等,方便查发送日志。
根据发送失败的记录,定时任务加上重试机制针对重要的短信,可以考虑重发。避免遗漏

5.考虑到短信的供应商如果是GET请求,短信文案可能会超长的情况,需要转换为form表单POST来请求。

标签:短信,供应商,发送,失败,思路,哪家,模板,底层
From: https://www.cnblogs.com/oktokeep/p/17663970.html

相关文章

  • require在vite不能用的问题(做手机短信弄滑块验证时候碰到)
    第一步:yarnadd-Dvite-plugin-require-transform或  npm ivite-plugin-require-transform --save-dev第二步:在vite.config.js中配置import{defineConfig}from'vite'importrequireTransformfrom'vite-plugin-require-transform';exportdefault......
  • kubeadm 安装k8s1.28.x 底层走containerd 容器
    一:k8s1.28.x的概述1.1:k8s1.28.x更新Kubernetesv1.28是2023年的第二个大版本更新,包含了46项主要的更新。而今年发布的第一个版本v1.27有近60项,所以可以看出来,在发布节奏调整后,每个Kubernetes版本中都会包含很多新的变化。其中20个增强功能正在进入Alpha......
  • 图片思路
    steghide分离图片文件steghide--exctract-sfxxx.png不知道口令直接回车 foremost分离图片文件 WINHEX 使用工具QuickCtypto StegSlove将图片的所有通道都切一遍......
  • 垃圾收集器ParNew&CMS与底层三色标记算法详解
    垃圾收集算法分代收集理论当前虚拟机的垃圾收集都采用分代收集算法,这种算法没有什么新的思想,只是根据对象存活周期的不同将内存分为几块。一般将java堆分为新生代和老年代,这样我们就可以根据各个年代的特点选择合适的垃圾收集算法。比如在新生代中,每次收集都会有大量对象(近9......
  • 对账思路
    1.我方有,对方无我方成功,则冲账我方失败,则不处理我方超时,则置为失败2.对方有,我方无补记账,补流水,线下处理3.我方异常,对方成功我方失败,则更改流水状态为成功,补记账;我方超时,则更改流水状态为成功,补记账......
  • 开源知识付费系统源码:顶层设计与底层逻辑的舞台
    在这个信息爆炸的时代,知识的传递和获取变得越来越便利,而知识付费成为了一种越来越受欢迎的方式。然而,要在知识付费领域取得成功,并不仅仅是提供内容,还需要考虑到底层逻辑和顶层设计。正如一个简洁的表述所示:“底层逻辑有问题,顶层设计有问题。” 在这个振奋人心的时代,兔知云课堂......
  • 开源.NetCore通用工具库Xmtool使用连载 - 发送短信篇
    【Github源码】《上一篇》介绍了Xmtool工具库中的发送邮件类库,今天我们继续为大家介绍其中的发送短信类库。发送短信就像发送邮件一样,在软件系统中使用非常普遍,甚至比发送邮件还要常见,有些甚至是软件标配功能;例如现在的短信验证码登录、通过短信找回密码等等。发送短信需要通过......
  • iOS开发之--调用打电话,发邮件,发短信的系统功能的代码
    1、调用自带mail[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:@"mailto://[email protected]"]];2、调用电话phone[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:@"tel://8008808888"]];NSMutableString*str=[[NSMutable......
  • 腾讯云短信接口传参问题
    接口请求域名sms.tencentcloudapi.com问题出现的原因查看腾讯云控制台发现短信模板有好多类似的模板,都是发生验证码类的,多个重复的原因只是因为平台不同,因此想整合一下,多传一个平台参数。单元测试发现腾讯云接口报错codedescInvalidParameterValue.TemplateParamet......
  • 渗透测试的思路
    1、信息收集a.收集服务器相关信息:例如真实的ip、系统类型、版本、开放的端口等等b.收集网站的指纹:例如cms、cdn、网站的证书等等、还有dns记录c、whois信息可以去社工库查姓名、备案、邮箱、电话等d、子域名收集、旁站、c段等e、googlehacking进行一个针对化的搜索:比如什么pdf文......