前言
1.介绍
Austin项目是一个消息推送平台的实现
2.核心功能
统一的接口发送各种类型消息,对消息生命周期全链路追踪
3.意义
只要公司内部有发送消息的需求,都应该要有类似austin的项目。消息推送平台对各类消息进行统一发送处理,这有利于对功能的收拢,以及提高业务需求开发的效率
4.特性
- 简单易用:通过Web页面快速对接模板,操作简单,一分钟上手
- 多渠道消息下发:支持短信、邮件、微信服务号(模板消息)、微信小程序(订阅消息)、钉钉(群机器人)、钉钉(工作消息)、安卓push通知栏、企业微信(机器人消息)、企业微信(应用消息)、飞书机器人消息
- 渠道资源隔离:不同的渠道不同的消息类型下发互不影响。例如邮件下发通道跟短信下发通道是隔离的,邮件发送缓慢不影响短信的正常发送
- 全渠道多维度消息链路追踪:分别以用户、模板、消息的维度监控下发的过程,可准实时查看消息下发的情况
- 配置化人群定时消息下发:上传人群文件,设置cron表达式定时下发消息
- 消息模板动态可变:模板支持通过占位符,支持可变参数动态传入
- 高性能发送接口:异步发送接口,支持批量发送,能支撑高并发流量
- 多渠道素材管理:钉钉/企业微信的富文本消息需提前将素材上传至渠道平台
- 高效接入新短信渠道:利用hades规则引擎无需系统发布上下线,即可接入新的短信渠道
- 短信流量可配置:短信多渠道可动态配置发送到每个短信渠道的流量占比
- 消息推送平台特性:支持消息下发文案和频次去重,夜间消息屏蔽或次日发送
- 容器化部署:项目支持docker部署,项目相关中间件用docker-compose一键部署
5.架构
6.依赖
强依赖
- MySQL
- Redis
弱依赖
- Kafka
- Prometheus
- Graylog
- Flink
- XXL-JOB
- Apollo
- Hive