|
多渠道消息触达平台,集成微信、短信、邮件、企业微信等多个消息渠道可实时和定时推送的消息推送平台
项目特性多渠道消息触达平台具有以下特性: - 统一提供多个消息服务渠道:与多个第三方消息服务API进行对接,包括邮件、短信、钉钉群机器人、APP通知栏(push通知栏)、微信公众号(模板消息)、飞书机器人和企业微信机器人。
- 高性能消息推送:基于阻塞队列+消息队列+动态线程池处理消息任务,可处理大量消息任务
- 推送灵活:支持自定义消息内容实时、定时单个推送和批量推送
- 数据可视化:对每个消息模板的推送情况进行可视化图形展示
- 扩展灵活:可对消息发送业务流程进行业务扩展,定制专属推送流程
- 消息可靠推送:基于消息确认机制+延迟队列+线程池监控,对进入发送阶段的消息任务全链路追踪
- 人群文件定时推送:可上传人群文件对用户定时推送
技术选型- 动态可监控线程池:引入该技术来处理各渠道消息发送任务,提高消息发送任务的并发量和处理速度。
- Nacos:用于管理项目中的微服务实例和服务配置,通过动态管理线程池参数,提升系统的灵活性。
- Redis:使用Redis实现消息的链路追踪,对消息的各个阶段进行实时监控、日志记录和消息发送记录,掌控消息的生命周期。
- Xxl-job:用于定时启动定时消息任务,实现消息的定时发送功能。
- RabbitMQ:作为消息中间件,将实时消息发送任务或定时消息任务交给RabbitMQ监听消费,实现消息发送的异步解耦,降低系统的耦合度。
- Docker:用于统一部署各组件,简化系统的部署难度。
- RabbitMQ延迟队列:通过使用延迟队列,处理超时消息任务,提高消息的可靠性(延迟队列默认关闭,需安装延迟插件手动开启)。
- Mysql:作为存储消息发送模板信息和第三方账号配置信息的数据库。
- ECharts可视化:通过使用ECharts,对消息模板下发用户数、今日消息送达率、每天各时间段发送情况以及消息模板用户等数据进行可视化展示,方便进行消息模板的数据分析。
- Sentinel限流:使用Sentinel来对消息发送接口进行限流,保障系统的稳定性。
- Redisson分布式锁:对消息确认机制引入分布式锁减小锁粒度,提高并发量
目前支持的渠道消息类型- 邮箱
- 短信
- 阿里云:支持手机号短信回执拉取
- 腾讯云:支持手机号短信回执拉取、账号回执拉取
- APP通知栏
- 微信公众号
- 钉钉群机器人
- 文本
- Markdown
- 链接消息
- 卡片消息
- FeedCard
- 飞书机器人
- 企业微信机器人
- 文本类型
- Markdown类型
- 图片类型
- 图文类型
- 文件类型
- 语音类型
软件架构api模块:系统接口 common模块:通用模块 gateway模块:网关 modules模块:系统基础功能模块 ui模块:前端 visual模块:系统监控 web模块:消息推送功能模块
运行必需服务Redis、RabbitMQ、Xxl-job、Nacos、Mysql5.7 必需运行微服务MetaxAuthApplication MetaxFileApplication MetaxGatewayApplication MetaxSystemApplication MetaxWebApplication 运行非必需服务Sentinel、SpringbootAdmin(visual模块) 后端前端进入项目目录 cd metax-ui 安装依赖 npm install 启动服务 npm run dev
以下内容需要积分高于 2 才可浏览
链接:https://pan.baidu.com/s/1rwTvvncQsNN9rR17YerXuQ
提取码下载:
|
|
|