# SMS微服务
### 项目介绍
基于Spring Boot 2.0.2.RELEASE实现的短信微服务。目前接入了阿里云通讯、凌凯短信平台。<br>
除了支持发送普通短信以外,封装了短信验证码发送、验证码校验这种常见的应用场景。<br>
**支持多个短信平台作为主备配置,实现短信服务的高可用。**
### 为什么需要短信微服务
想象一下常规的开发流程:每个需要发送短信的应用需要单独接入短信SDK,上线以后用户反馈收不到短信验证码,此时你需要先去查应用日志短信接口有没有调用成功,然后再去第三方短信平台查询运营商短信发送反馈;或者是第三方短信平台提示你需要升级SDK;或者老板因为成本考虑需要切换更便宜更稳定的短信平台。<br>
微服务的存在就是为了解决此类问题,如果您正在尝试微服务拆分,短信这类业务无关的基础服务也是一个很好的起点。<br>
该服务支持多个应用接入,并提供了短信发送记录查询功能 。因为较好的抽象,可以方便二次开发进行类型(接入应用,短信类型、短信模板)、成功率、手机号、时间等维度的统计。
### 演示地址
[短信微服务演示地址(暂时停用)](http://47.98.111.179)<br>
演示账号:sms<br>
演示密码:sms<br>
### 如何接入
如果您正在使用[Spring Cloud](https://projects.spring.io/spring-cloud/ "spring cloud"),只需要在sms工程的pom中增加spring-cloud-dependencies、spring-cloud-starter-eureka的依赖。<br>
如果您没有使用Spring Cloud,Spring Boot可以很方便地作为单体应用或者集群部署,配合nginx等反向代理进行远程调用使用。<br>
可以通过更改application.yml中**sms.channel.available**属性配置首选和备用短信平台<br>
**如果您使用了其它的短信通道**,只需要通过实现IChannelSMSService接口就可以很方便地进行短信平台的替换。
### 技术选型
1. Spring Boot 2.0.2.RELEASE
2. Hibernate Validator 6.0.9.Final
3. Mybatis 3.4.5
4. MyBatis 通用 Mapper + 分页插件 PageHelper
5. (可选)Guns 2.5 fork版本(mybatis-plus替换为第4条)
### 项目结构
```
sms-parent
├── sms-web -- spring boot启动入口
├── sms-dal -- 数据持久层
```
### 项目测试
1. 运行sms.sql(需要mysql 5.6以上)<br>
2. 修改application.yml中的数据库、redis地址<br>
3. 运行sms工程,访问[http://localhost:8000/swagger-ui.html#/](http://localhost:8000/swagger-ui.html#/)进行接口测试<br>
4. (可选)目前管理后台基于guns开发,[源代码地址](https://github.com/cbwleft/guns/tree/sms/master)sms/master分支
### 更新记录
***
版本 |日期 |描述
----- | --------- | -------
1.0.0 |2018-05-29 |阿里云通讯单短信通道
1.1.0 |2018-05-31 |增加凌凯短信可选实现
1.1.1 |2018-06-01 |增加批量发送短信接口(新增redis依赖)
1.2.0 |2018-07-09 |多短信通道主备配置
### 开发计划
```
+ 接口鉴权
+ 更多通道支持
+ docker构建支持
```
免责声明:
1.本资源仅供学习和交流使用,不保证其准确性、完整性、及时性或适用性。
2.本资源仅包含一般信息,不构成专业建议。在使用本资源时,请务必自行研究并谨慎决策。
3.我已尽力确保本资源的正确性和合法性,但不对其准确性、完整性和及时性做出保证。
4.本资源不应用于商业用途。
5.在使用本资源的过程中,用户应自行承担所有风险和责任,并遵守相关法律法规。
6.对于因使用本资源而产生的任何损失或损害,我概不负责。
请确保在使用本资源时仔细阅读并遵守以上免责声明。如果您有任何疑问或需要进一步帮助,请联系我。
没有合适的资源?快使用搜索试试~ 我知道了~
高可用短信微服务-sms.zip
共61个文件
java:46个
xml:8个
properties:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 114 浏览量
2024-01-30
21:24:27
上传
评论
收藏 51KB ZIP 举报
温馨提示
高可用短信微服务-sms
资源推荐
资源详情
资源评论
收起资源包目录
高可用短信微服务-sms.zip (61个子文件)
sms-master
sms-dal
pom.xml 3KB
src
test
resources
generatorConfig.xml 3KB
main
resources
generator.properties 307B
com
cbwleft
sms
dao
mapper
TemplateMapper.xml 1KB
MessageMapper.xml 1KB
AppMapper.xml 947B
BatchMessageMapper.xml 1KB
java
com
cbwleft
sms
dao
constant
RedisKeys.java 548B
Columns.java 642B
mapper
AppMapper.java 166B
TemplateMapper.java 181B
BatchMessageMapper.java 193B
MessageMapper.java 178B
model
Message.java 11KB
BatchMessage.java 8KB
App.java 7KB
Template.java 8KB
config
RedisConfig.java 1KB
MybatisConfig.java 237B
pom.xml 849B
sms.sql 5KB
LICENSE 1KB
sms-web
pom.xml 2KB
src
test
java
com
cbwleft
sms
SmsApplicationTests.java 329B
service
IMessageServiceTest.java 729B
main
resources
ValidationMessages.properties 503B
application.yml 1012B
java
com
cbwleft
sms
constant
Channels.java 209B
BaseResultEnum.java 622B
SmsApplication.java 455B
controller
BaseController.java 821B
MessageController.java 3KB
task
QuerySendTask.java 1KB
health
SMSHealthIndicator.java 2KB
service
IChannelSMSService.java 1KB
impl
ChannelSMSServices.java 1KB
LinkSMSServiceImpl.java 8KB
AliSMSServiceImpl.java 6KB
MessageServiceImpl.java 14KB
IBatchQueryable.java 186B
IMessageService.java 2KB
model
dto
QuerySendResult.java 1KB
MessageDTO.java 953B
BatchMessageDTO.java 785B
SendMessageResult.java 737B
ValidateCodeDTO.java 1001B
vo
BaseResult.java 684B
validation
Content.java 829B
AppId.java 841B
ValidateCode.java 844B
TemplateId.java 852B
Mobile.java 1KB
exception
ChannelException.java 241B
AmountNotEnoughException.java 184B
BaseException.java 644B
config
AliSMSConfig.java 2KB
LinkSMSConfig.java 3KB
SMSHealthConfig.java 635B
ChannelConfig.java 664B
.gitignore 115B
README.md 4KB
共 61 条
- 1
资源评论
武昌库里写JAVA
- 粉丝: 3512
- 资源: 2059
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功