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

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

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

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

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

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

项目介绍

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

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

Java开源项目:消息推送平台终于要迎来上线啦!_开源

技术栈

技术栈

实现

编程语言

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、创建需要发送的渠道账号

Java开源项目:消息推送平台终于要迎来上线啦!_开源_02

2、创建消息模板

Java开源项目:消息推送平台终于要迎来上线啦!_开源_03

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

Java开源项目:消息推送平台终于要迎来上线啦!_消息推送_04

4、查看消息下发情况

Java开源项目:消息推送平台终于要迎来上线啦!_开源_05

Java开源项目:消息推送平台终于要迎来上线啦!_java_06

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

Java开源项目:消息推送平台终于要迎来上线啦!_开源_07

工程模块&系统流程

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

工程模块

作用

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

Java开源项目:消息推送平台终于要迎来上线啦!_消息推送_08

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

Java开源项目:消息推送平台终于要迎来上线啦!_消息推送_09