Cash Loan(七):短信服务的设计

【前言】

        之前系统中已经接入短信,由于当时工期比较紧,所以直接在需要的地方(登录,注册等)通过Http调用第三方;后来随着需要发送短信的场景越来越多,对短信进行了抽离做成单独的服务;下面分享一下在抽离服务时的思路以及遇到的一些坑。

【设计思路】

         1.按需要发送短信的本身特点将短信分为两类:一是有时效性短信(如:登录,注册);二是非时效性短信(如:放款成功需要给用户提醒等)。

         2.针对时效性短信,短信服务直接给业务系统提供Http服务,然后直接去调用第三方短信平台;针对非时效性短信,在短信服务中写定时任务定时去搂需要发送短信的业务数据,然后去调用第三方短信平台。

         3.短信内容拆分成模板和变量的形式,灵活可扩展。

         4.短信路由初步设定在管理后台可以配置哪个开启,然后在redis中记录相应渠道的渠道号,在每次发短信之前去redis中根据渠道号决定调用哪个第三方。

         5.表中设定重试次数,防止由于网络等原因某次发送失败,同时也可防止由于手机号等出现问题无限重复的发送。

         6.定时将待发送的数据表中数据归档到历史表中,防止因数据量过大影响搂数据。

【总结】

        以上设计可以初步满足一般发送短信的需求,不过随着业务变动等以及短信余额不足等出现一些新的挑战,下一篇会继续为大家介绍关于自定义短信的实现思路,以及关于短信路由的完善相关设计。

猜你喜欢

转载自blog.csdn.net/u012829124/article/details/79953011