1

消息推送平台终于要发布啦!

 1 year ago
source link: https://www.cnblogs.com/Java3y/p/17372702.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

消息推送平台终于要发布啦!

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

9214eb85b3524b0880e9f2bc2e028c18~tplv-k3u1fbpfcp-zoom-1.image

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

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

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

1、渠道账号配置改为在前端上做页面管理,之前会把渠道的账号配置散落在分布式配置中心/本地配置文件;

2、使用docker-compose部署后端项目,预料到后续迭代频繁,需要有简单且好用的部署姿势;

3、做简单的用户登录功能,在线演示的系统每个用户只能看到自身账号的信息,用户之间不共享信息;

4、充钱买服务器,现有我调试的服务器配置不够,只能买新的服务器;

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

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

7cc759bd326d4a7ba1ba99bf09e23b9e~tplv-k3u1fbpfcp-zoom-1.image
技术栈 实现
编程语言 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、创建需要发送的渠道账号

f3941433399e498b84a8d549447d6218~tplv-k3u1fbpfcp-zoom-1.image

2、创建消息模板

99bd178588bf416582494af30a0a829e~tplv-k3u1fbpfcp-zoom-1.image

3、测试发送消息是否正常

b72a96e4005040c492c2c0a19c2813aa~tplv-k3u1fbpfcp-zoom-1.image

4、查看消息下发情况

8f76ad602e6343a8a09606016feda859~tplv-k3u1fbpfcp-zoom-1.image
5050e46dafc14112824ea139120b3502~tplv-k3u1fbpfcp-zoom-1.image

5、亦可在新建模板时选择定时任务,通过上传csv文件和指定cron表达式实现下发消息

1fe996d4010548b8b70a814062d7ba50~tplv-k3u1fbpfcp-zoom-1.image

工程模块&系统流程

了解工程模块的职责,这对看项目代码的时候会有个比较清晰的认识:

工程模块 作用
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
3d2257744d334f65bf5f55900d53d09c~tplv-k3u1fbpfcp-zoom-1.image

austin目前所支持的下发渠道:

99ca43ab6ee949bf8690acc9e626f1ab~tplv-k3u1fbpfcp-zoom-1.image

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK