diff --git a/README.md b/README.md index 8407e9adef7db1a4eb69fc422cec41a8d329d82e..0fa9352c38c369bc4ea190a02094862674bad6c1 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,23 @@ # 多渠道消息触达平台 -# 介绍 -多渠道消息触达平台是一个集成微信、短信、邮件、企业微信等多个消息渠道可实时和定时推送的消息推送平台,旨在解决发送消息的需求,目的是通过简单的操作就可以实现目前市面上主流消息渠道的消息推送,实现了消息发送的统一管理和多渠道的灵活选择。 -项目视频演示地址:https://www.bilibili.com/video/BV1Uk4y1S7hR/?vd_source=ea9d3688c968ba55be79c5ce3dc1c5fc -github地址:https://github.com/Manzzx/multi-channel-message-reach/tree/master +## 介绍 +多渠道消息触达平台是一个集成微信、短信、邮件、企业微信等多个消息渠道可实时和定时推送的消息推送平台,旨在解决发送消息的需求,目的是通过简单的操作就可以实现目前市面上主流消息渠道的消息推送,实现了消息发送的统一管理和多渠道的灵活选择。 -# 项目特性 -多渠道消息触达平台具有以下特性: +项目视频演示地址:https://www.bilibili.com/video/BV1Uk4y1S7hR/?vd_source=ea9d3688c968ba55be79c5ce3dc1c5fc -+ **统一提供多个消息服务渠道**:与多个第三方消息服务API进行对接,包括邮件、短信、钉钉群机器人、APP通知栏(push通知栏)、微信公众号(模板消息)、飞书机器人和企业微信机器人。 -+ **高性能消息推送**:基于阻塞队列+消息队列+动态线程池处理消息任务,可处理大量消息任务 -+ **推送灵活**:支持自定义消息内容实时、定时单个推送和批量推送 +## 项目特性 + **数据可视化**:对每个消息模板的推送情况进行可视化图形展示 + **扩展灵活**:可对消息发送业务流程进行业务扩展,定制专属推送流程 + **消息可靠推送**:基于消息确认机制+延迟队列+线程池监控,对进入发送阶段的消息任务全链路追踪 + **人群文件定时推送**:可上传人群文件对用户定时推送 -# 技术选型 - +## 技术选型 + **动态可监控线程池**:引入该技术来处理各渠道消息发送任务,提高消息发送任务的并发量和处理速度。 + **Nacos**:用于管理项目中的微服务实例和服务配置,通过动态管理线程池参数,提升系统的灵活性。 + **Redis**:使用Redis实现消息的链路追踪,对消息的各个阶段进行实时监控、日志记录和消息发送记录,掌控消息的生命周期。 + **Xxl-job**:用于定时启动定时消息任务,实现消息的定时发送功能。 -+ **RabbitMQ**:作为消息中间件,将实时消息发送任务或定时消息任务交给RabbitMQ监听消费,实现消息发送的异步解耦,降低系统的耦合度。 -+ **Docker**:用于统一部署各组件,简化系统的部署难度。 -+ **RabbitMQ延迟队列**:通过使用延迟队列,处理超时消息任务,提高消息的可靠性(延迟队列默认关闭,需安装延迟插件手动开启)。 -+ **Mysql**:作为存储消息发送模板信息和第三方账号配置信息的数据库。 -+ **ECharts可视化**:通过使用ECharts,对消息模板下发用户数、今日消息送达率、每天各时间段发送情况以及消息模板用户等数据进行可视化展示,方便进行消息模板的数据分析。 -+ **Sentinel限流**:使用Sentinel来对消息发送接口进行限流,保障系统的稳定性。 -+ **Redisson分布式锁**:对消息确认机制引入分布式锁减小锁粒度,提高并发量 - -# 目前支持的渠道消息类型 +## 目前支持的渠道消息类型 + **邮箱** - 支持文本、HTML类型 - 支持网络附件和本地附件推送 @@ -57,9 +43,7 @@ github地址:https://github.com/Manzzx/multi-channel-message-reach/tree/master - 文件类型 - 语音类型 - -# 演示图 - +## 演示图
![]() |
@@ -77,84 +61,66 @@ github地址:https://github.com/Manzzx/multi-channel-message-reach/tree/master
![]() |
![]() |
![]() |
![]() |
|
![]() |
![]() |
|
![]() |
![]() |
-