消息推送平台终于要迎来第一版啦!

8,785 阅读3分钟

我正在参加「掘金·启航计划」

我的开源项目消息推送平台Austin终于要上线了,迎来在线演示的第一版!

🔥项目在线演示地址http://139.9.73.20:3000/

消息推送平台🔥推送下发【邮件】【短信】【微信服务号】【微信小程序】【企业微信】【钉钉】等消息类型

不得不说,为了这个「在线演示」我前期做了很多工作:

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目前所支持的下发渠道:

如果想学Java项目的,强烈推荐我的开源项目消息推送平台Austin(8K stars) ,可以用作毕业设计,可以用作校招,可以看看生产环境是怎么推送消息的。开源项目消息推送平台austin仓库地址:

消息推送平台🔥推送下发【邮件】【短信】【微信服务号】【微信小程序】【企业微信】【钉钉】等消息类型