01.前言

100 阅读2分钟

前言

1.介绍

Austin项目是一个消息推送平台的实现

2.核心功能

统一的接口发送各种类型消息,对消息生命周期全链路追踪

image.png

3.意义

只要公司内部有发送消息的需求,都应该要有类似austin的项目。消息推送平台对各类消息进行统一发送处理,这有利于对功能的收拢,以及提高业务需求开发的效率

image.png

4.特性

  • 简单易用:通过Web页面快速对接模板,操作简单,一分钟上手
  • 多渠道消息下发:支持短信、邮件、微信服务号(模板消息)、微信小程序(订阅消息)、钉钉(群机器人)、钉钉(工作消息)、安卓push通知栏、企业微信(机器人消息)、企业微信(应用消息)、飞书机器人消息
  • 渠道资源隔离:不同的渠道不同的消息类型下发互不影响。例如邮件下发通道跟短信下发通道是隔离的,邮件发送缓慢不影响短信的正常发送
  • 全渠道多维度消息链路追踪:分别以用户、模板、消息的维度监控下发的过程,可准实时查看消息下发的情况
  • 配置化人群定时消息下发:上传人群文件,设置cron表达式定时下发消息
  • 消息模板动态可变:模板支持通过占位符,支持可变参数动态传入
  • 高性能发送接口:异步发送接口,支持批量发送,能支撑高并发流量
  • 多渠道素材管理:钉钉/企业微信的富文本消息需提前将素材上传至渠道平台
  • 高效接入新短信渠道:利用hades规则引擎无需系统发布上下线,即可接入新的短信渠道
  • 短信流量可配置:短信多渠道可动态配置发送到每个短信渠道的流量占比
  • 消息推送平台特性:支持消息下发文案和频次去重,夜间消息屏蔽或次日发送
  • 容器化部署:项目支持docker部署,项目相关中间件用docker-compose一键部署

5.架构

c7f7c99d-93f1-4026-b4c4-dc32b6143a1f.png image.png

6.依赖

强依赖

  1. MySQL
  2. Redis

弱依赖

  1. Kafka
  2. Prometheus
  3. Graylog
  4. Flink
  5. XXL-JOB
  6. Apollo
  7. Hive