All Projects → cbwleft → sms

cbwleft / sms

Licence: MIT License
高可用短信微服务

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to sms

Springboot Learn
🌹springboot常用框架整合示例,涉及多种网站监控,数据缓存,网络通信,持久层,权限管理,常用工具等
Stars: ✭ 270 (+373.68%)
Mutual labels:  sms, mybatis
Newbee Mall
🔥 🎉newbee-mall 项目(新蜂商城)是一套电商系统,包括 newbee-mall 商城系统及 newbee-mall-admin 商城后台管理系统,基于 Spring Boot 2.X 及相关技术栈开发。 前台商城系统包含首页门户、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、个人订单管理、会员中心、帮助中心等模块。 后台管理系统包含数据面板、轮播图管理、商品管理、订单管理、会员管理、分类管理、设置等模块。
Stars: ✭ 8,319 (+14494.74%)
Mutual labels:  mybatis, springboot-mybatis
vacomall
☀️☀️ 基于 dubbo 实现的分布式电商平台。
Stars: ✭ 42 (-26.32%)
Mutual labels:  sms, mybatis
My Blog
🌴A simple & beautiful blogging system implemented with spring-boot & thymeleaf & mybatis My Blog 是由 SpringBoot + Mybatis + Thymeleaf 等技术实现的 Java 博客系统,页面美观、功能齐全、部署简单及完善的代码,一定会给使用者无与伦比的体验
Stars: ✭ 2,400 (+4110.53%)
Mutual labels:  mybatis, springboot-mybatis
Manong Ssm
基于SSM框架的Java电商项目
Stars: ✭ 306 (+436.84%)
Mutual labels:  sms, mybatis
Api Boot
“ ApiBoot”是为接口服务而生的,基于“ SpringBoot”完成扩展和自动配置,内部封装了一系列的开箱即用Starters。
Stars: ✭ 460 (+707.02%)
Mutual labels:  sms, mybatis
springboot
🌿 springboot 分析与学习 & 入门示例 & 图文教程,本 Spring Boot 系列文章基于 Spring Boot 版本 v2.x 进行学习分析。 所有项目示例都有对应的文章介绍,可以直接点击 https://www.wdbyte.com 阅读。
Stars: ✭ 104 (+82.46%)
Mutual labels:  mybatis, springboot-mybatis
mimo-ce
MIMO Community Edition
Stars: ✭ 20 (-64.91%)
Mutual labels:  sms
k8s-lemp
LEMP stack in a Kubernetes cluster
Stars: ✭ 74 (+29.82%)
Mutual labels:  high-availability
Gauntlet
🔖 Guides, Articles, Podcasts, Videos and Notes to Build Reliable Large-Scale Distributed Systems.
Stars: ✭ 336 (+489.47%)
Mutual labels:  high-availability
sample-template-nodejs
A template repository serving as the base for new Twilio sample apps
Stars: ✭ 16 (-71.93%)
Mutual labels:  sms
smpp.net
Short Message Peer-to-Peer (SMPP) .NET library
Stars: ✭ 29 (-49.12%)
Mutual labels:  sms
slack-texts
SMS notifications for Slack groups
Stars: ✭ 19 (-66.67%)
Mutual labels:  sms
mobizon-node
Biblioteca NodeJS para trabalhar com os serviços Mobizon API
Stars: ✭ 17 (-70.18%)
Mutual labels:  sms
fake-sms-notifier
Fake SMS (as email during development) Notifier Bridge
Stars: ✭ 16 (-71.93%)
Mutual labels:  sms
aliyun-sms
阿里云 SMS 短信 Java SDK 封装
Stars: ✭ 67 (+17.54%)
Mutual labels:  sms
vonage-node-code-snippets
NodeJS code examples for using Nexmo
Stars: ✭ 46 (-19.3%)
Mutual labels:  sms
DIMS
🐟 数据库系统原理课程设计,Drug Inventory Management System,基于 SSM 框架的医院药品库存管理系统。
Stars: ✭ 49 (-14.04%)
Mutual labels:  mybatis
JavaEE-projects
存放一些自己写的还有从不同开源社区fork下来的JavaEE项目,其中就不乏一些很多企业单位都在用的源码。
Stars: ✭ 43 (-24.56%)
Mutual labels:  mybatis
syros
DevOps tool for managing microservices
Stars: ✭ 27 (-52.63%)
Mutual labels:  high-availability

SMS微服务

项目介绍

基于Spring Boot 2.0.2.RELEASE实现的短信微服务。目前接入了阿里云通讯、凌凯短信平台。
除了支持发送普通短信以外,封装了短信验证码发送、验证码校验这种常见的应用场景。
支持多个短信平台作为主备配置,实现短信服务的高可用。

为什么需要短信微服务

想象一下常规的开发流程:每个需要发送短信的应用需要单独接入短信SDK,上线以后用户反馈收不到短信验证码,此时你需要先去查应用日志短信接口有没有调用成功,然后再去第三方短信平台查询运营商短信发送反馈;或者是第三方短信平台提示你需要升级SDK;或者老板因为成本考虑需要切换更便宜更稳定的短信平台。
微服务的存在就是为了解决此类问题,如果您正在尝试微服务拆分,短信这类业务无关的基础服务也是一个很好的起点。
该服务支持多个应用接入,并提供了短信发送记录查询功能 。因为较好的抽象,可以方便二次开发进行类型(接入应用,短信类型、短信模板)、成功率、手机号、时间等维度的统计。

演示地址

短信微服务演示地址(暂时停用)
演示账号:sms
演示密码:sms

如何接入

如果您正在使用Spring Cloud,只需要在sms工程的pom中增加spring-cloud-dependencies、spring-cloud-starter-eureka的依赖。
如果您没有使用Spring Cloud,Spring Boot可以很方便地作为单体应用或者集群部署,配合nginx等反向代理进行远程调用使用。
可以通过更改application.yml中sms.channel.available属性配置首选和备用短信平台
如果您使用了其它的短信通道,只需要通过实现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以上)
  2. 修改application.yml中的数据库、redis地址
  3. 运行sms工程,访问http://localhost:8000/swagger-ui.html#/进行接口测试
  4. (可选)目前管理后台基于guns开发,源代码地址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构建支持
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].