19 Star 133 Fork 94

二进制科技 / 开源短信平台

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 8.12 KB
一键复制 编辑 原始数据 按行查看 历史
奇奇liu 提交于 2024-04-10 11:07 . 修改readme

信相通开源短信平台

介绍

为短信平台开发者提供一个入门的脚手架项目,让开发者迅速掌握CMPP,SGIP,SMPP,SMGP等协议。开发者可以更专注于企业个性化业务的开发,减少学习时间成本。 此平台由二进制(河北)科技有限公司研发。

特别注意

  • 开源代码仅供学习,不能作为商业用途!!!
  • 此项目依赖sms-quick(基于netty的短信协议处理中间件),我们也做了开源,请走传送门

关于性能

在一台8核32G的阿里云服务器上做了测试,部署了mysql数据库和短信平台,并发可达3000条/秒。

在线体验

商业合作

  • 我们提供商业授权和基于开源版本的技术服务(包括代码解答和技术咨询),有意向请进群交流
  • 我们也提供短信平台的商业版本的租用服务(做个广告),有意向请进群交流

技术交流

短信平台QQ交流群[533147696]: image

软件架构

image 为了减少部署成本,单机版去掉了redis,通过本地缓存来实现redis存储. 系统增加了本地队列模式,以本地文件的方式模拟队列,防止丢失消息。

协议支持

协议 下游用户对接 上游通道对接
CMPP2.0 支持 支持
CMPP3.0 支持 支持
CMGP 支持 支持
SMPP 支持 支持
SGIP 支持 支持
自研HTTP接口 支持 支持
迈远http1.0 支持 不支持
迈远http2.0 支持 支持

环境要求

  • JDK1.8+
  • MySQL8.0+
  • Maven3.0+
  • Tomcat9.0+

主要技术

技术 名称 版本
Spring MVC 应用框架 5.2.9.RELEASE
MyBatis ORM框架 3.4.6
Log4J 日志组件 2.11.1
Druid 数据库连接池 1.2.4
Hibernate Validator 后端校验框架 5.2.4.Final
Google Guava 缓存和工具 28.2-jre
ShardingSphere 分库分表 5.0.0-alpha
Quick-SMS 自研短信协议中间件 最新
LayUI js框架 v2.5.4

此平台使用了自研的短信协议中间件,重点实现了滑动窗口控速和减少了异步开发的门槛,如果只想使用中间件,请走传送门

工程结构

sms
├── docs -- 接口文档和使用说明书
├── sms-netway-sender -- 发送短信的网关、分拣、发送器服务都在这个工程里面,发送短信的基础项目
├── sms-system
|    ├── sms-action -- sms-admin工程用到的一些公共方法
|    ├── sms-admin -- 运营平台服务,企业、客户、权限等的管理维护
|    ├── sms-enterprise -- 客户端服务
|    ├── sms-service -- 业务层接口、接口实现
├── sms-system-dao -- DAO层
├── sms-util -- 项目中使用到的工具类

安装教程

本地部署

  1. 下载项目
  2. 创建数据库sms_business、sms_send,数据库编码为UTF-8
  3. 在sms_business库执行docs/sql/business.sql,初始化业务数据库
  4. 在sms_send库执行docs/sql/send.sql,初始化短信记录数据库
  5. 修改各工程(比如:sms-admin-web/src/main/resources)的database.properties,更新MySQL地址、端口、账号和密码
  6. 运行项目,将此项目编译后放到tomcat的webapps目录下运行(此项目不是SpringBoot项目)
  • sms-netway-sender工程是发送短信的基础项目,发送短信必须启动;
  • sms-admin工程是运营管理平台,企业、用户、白名单、黑名单、通道等的维护管理,项目中一些参数的设置,前期需要先启动该服务,维护好相关数据。
  • sms-enterprise工程是客户平台,客户端web发送入口,以及发送记录等的查看,通过页面发送的下游用户,可以给用户部署该服务,登录账号、
    密码就是创建企业用户时填写的账号密码。
  1. 以上三个项目需要部署到Tomcat的ROOT目录中,即访问时不能加项目名称
  2. 以sms-admin为例,使用http://ip:port/访问运营管理平台(ip和port根据自己启动服务的端口号进行修改)

使用说明

使用文档

  1. 短信运营管理平台的使用说明书在docs/平台使用说明书/信相通运营管理平台使用说明书V3.0.docx
  2. 企业管理端的使用说明书在docs/平台使用说明书/信相通客户端使用说明书V3.0.docx

短信发送

  1. 如果是HTTP的请求,直接调用网关接口即可,参考WiKi中的接口文档
  2. 如果是CMPP\SGIP\SMPP\SMGP等协议的,需要在运营平台给需要连接的用户开通企业用户的账户即可,下游配置上相关参数就能链接到服务器

运营平台

  • 账户管理 ---系统用户的添加,权限、角色的维护

  • 企业管理 ---对下游企业用户的维护 企业管理 用户管理

  • 通道产品 ---对上游通道的维护,以及对用户所需的产品的维护 通道管理

  • 业务管理 ---对系统中白名单、黑名单、手机号码路由、手机号码归属地的维护 白名单 黑名单

  • 短信管理 ---主要是对发送短信的状态、历史记录的查询 发送记录

  • 报表管理 ---对发送短信的日报、月报等的查看和导出

  • 财务管理 ---企业用户的充值、充值记录管理

  • 彩信管理 ---彩信发送中用到的素材和彩信模板的管理维护

  • 系统设置 ---项目中使用的一些系统参数的设置,告警服务的配置,系统工具等

客户管理平台

  • 企业管理---企业用户和企业通讯录的维护
  • 短信管理---发送短信、发送记录的查看、发送状态报告的查看、本企业的短信模板维护 我要发送 发件箱 发送记录 发送回执
  • 彩信管理---客户端发送彩信的入口、彩信素材、彩信模板的维护
  • 财务管理---发票管理、发送的短信统计

常见问题

  1. 缺少sms-quick.jar包
    此项目依赖sms-quick,我们也做了开源,自己引入即可,请走传送门
  2. 演示地址不能打开
    由于服务器资源有限,不定时会关闭演示地址,如需功能演示,进群联系管理员即可
Java
1
https://gitee.com/er-jin-zhi/sms-platform-stand-alone.git
git@gitee.com:er-jin-zhi/sms-platform-stand-alone.git
er-jin-zhi
sms-platform-stand-alone
开源短信平台
master

搜索帮助