开源项目消息推送平台Austin终于要上线了,迎来在线演示的第一版!
不得不说,为了这个「在线演示」我前期做了很多工作:
1、渠道账号配置改为在前端上做页面管理,之前会把渠道的账号配置散落在分布式配置中心/本地配置文件;
2、使用docker-compose部署后端项目,预料到后续迭代频繁,需要有简单且好用的部署姿势;
3、做简单的用户登录功能,在线演示的系统每个用户只能看到自身账号的信息,用户之间不共享信息;
4、充钱买服务器,现有我调试的服务器配置不够,只能买新的服务器;
项目介绍
核心功能:统一的接口发送各种类型消息,对消息生命周期全链路追踪。
意义:只要公司内部有发送消息的需求,都应该要有类似消息推送平台的项目。消息推送平台对各类消息进行统一发送处理,这有利于对功能的收拢,以及提高业务需求开发的效率。
技术栈
技术栈 | 实现 |
编程语言 | Java(JDK 1.8) |
项目管理工具 | Maven 3.x |
集成开发工具 | IDEA 2022 |
部署服务器 | Centos 7.6 |
系统部署工具 | Docker & Docker-compose |
项目环境 | SpringBoot 2.5.6 |
关系型数据库 | MySQL 5.7.X |
缓存数据库 | Redis:lastest |
ORM框架 | SpringData JPA 2.5.6 |
分布式定时任务框架 | XXL-JOB v2.3.0 |
分布式配置中心 | Apollo & Nacos |
消息队列 | Kafka & RabbitMQ & RocketMQ |
分布式日志采集框架 | Graylog |
分布式计算引擎 | Flink 1.16.0 |
监控采集组件 | Prometheus |
监控可视化组件 | Grafana |
数据仓库 | Hive 2.3.2 |
大数据环境 | Hadoop 2.7.4 |
大数据可视化 | Metabase:lastest |
前端技术 | Amis |
使用教程
🔥项目有预览地址,可自行体验:http://139.9.66.219:3000/
1、创建需要发送的渠道账号
2、创建消息模板
3、测试发送消息是否正常
4、查看消息下发情况
5、亦可在新建模板时选择定时任务,通过上传csv文件和指定cron表达式实现下发消息
工程模块&系统流程
了解工程模块的职责,这对看项目代码的时候会有个比较清晰的认识:
工程模块 | 作用 |
austin-common | 项目公共包:存储着项目公共常量/枚举/Bean |
austin-support | 项目工具包:对接中间件/组件 |
austin-cron | 定时任务模块:对xxl-job封装和项目定时任务逻辑 |
austin-web | 后台管理模块:提供接口给前端调用 |
austin-service-api | 消息接入层接口定义模块:只有接口和必要的入参依赖 |
austin-service-api-impl | 消息接入层具体实现模块:真实处理请求 |
austin-handler | 消息处理逻辑层:消费MQ下发消息 |
austin-stream | 实时处理模块:利用flink实时处理下发链路数据 |
austin-data-house | 数据仓库模块:消费MQ数据写入hive |
austin目前所支持的下发渠道: