地址:https://github.com/makemyownlife/platform-sms
短信服务 platform-sms 0.6.1 发布,本次更新主要涉及三个部分 :
1、修复短信渠道适配器加载逻辑 BUG ;
2、短信服务 SDK 上传到 maven 中央仓库;
3、搭建线上演示环境。
1 修复短信渠道适配器加载 BUG部署目录来看,短信平台将三方渠道的相关逻辑独立在单独的文件夹 plugin 中。
因此服务端启动后,需要将插件加载到服务端容器中,加载完成之后,服务端可以根据渠道编号获取适配器(aliyun、tencent、emay)对象进行发送短信,申请短信模版等操作。
这种 SPI 模式有两个非常大的优势:
1、classloader 隔离
这种隔离方式不会产生类冲突,规避不同三方渠道 SDK 产生冲突的可能性。
2、按需加载
在业务系统中,我们可以根据配置加载特定的渠道 适配器 。当然,短信平台 SPI 机制实现起来,相比 Java SPI 也更加复杂,是一种比较重的 SPI 机制实现。
在版本 0.5.0 版本中,定时加载适配器时,采用单线程执行,没有对线程进行休眠,导致频繁的从数据库读取三方渠道配置信息。
从系统层面来看,会导致服务端的 CPU 大量无效消耗,同时对数据库有一定的压力,最新版本做了优化。
2 短信服务 SDK 上传到 maven 中央仓库本次更新,笔者将短信服务 SDK 上传到了 maven 中央仓库。
中央仓库地址:https://central.sonatype.com/publishing 。
下图是 maven 仓库发布成功的截图:
我们可以从 maven 阿里云镜像中看到 短信 SDK 的信息:
大家可以以短信 SDK 设计为模版,尝试将自己编写的 SDK 发布到 maven 中央仓库。
3 搭建线上演示环境假如同学们对于短信服务感兴趣,可以访问:
https://javayong.cn/smsadmin
进入短信管理页面:
点击发送短信按钮:
在弹出窗口里,选择「腾讯云验证码」模版 , 自动渲染模版的动态参数,我们输入参数,点击确定按钮即可发送成功。