/austin

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

Primary LanguageJavaApache License 2.0Apache-2.0

作者 项目群交流 Gitee Starts Gitee Starts issue-open issue-close issue-close issue-close issue-close jdk版本 SpringBoot版本 Centos版本 MySQL版本 maven版本 ORM框架 ORM框架 分布式定时任务 分布式配置中心 分布式消息队列 分布式日志采集 计算引擎 系统监控 系统监控 部署 部署 部署 部署 前端

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

🔥11W+字,共107个文档,带你玩转austin,详情可戳:消息推送平台文档

消息推送平台austin介绍

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

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

项目特性

简单易用:通过Web页面快速对接模板,操作简单,一分钟上手

多渠道消息下发:支持短信、邮件、微信服务号(模板消息)、微信小程序(订阅消息)、钉钉(群机器人)、钉钉(工作消息)、安卓push通知栏、企业微信(机器人消息)、企业微信(应用消息)、飞书机器人消息。

渠道资源隔离:不同的渠道不同的消息类型下发互不影响。例如邮件下发通道跟短信下发通道是隔离的,邮件发送缓慢不影响短信的正常发送。

全渠道多维度消息链路追踪:分别以用户、模板、消息的维度监控下发的过程,可准实时查看消息下发的情况。

配置化人群定时消息下发:上传人群文件,设置cron表达式定时下发消息。

消息模板动态可变:模板支持通过占位符,支持可变参数动态传入。

高性能发送接口:异步发送接口,支持批量发送,能支撑高并发流量。

多渠道素材管理:钉钉/企业微信的富文本消息需提前将素材上传至渠道平台。

高效接入新短信渠道:利用hades规则引擎无需系统发布上下线,即可接入新的短信渠道。

短信流量可配置:短信多渠道可动态配置发送到每个短信渠道的流量占比。

消息推送平台特性:支持消息下发文案和频次去重,夜间消息屏蔽或次日发送。

容器化部署:项目支持docker部署,项目相关中间件用docker-compose一键部署。

使用姿势

1、创建需要发送的渠道账号

2、创建消息模板

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

4、查看消息下发情况

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

部署姿势

austin项目强依赖MySQL/Redis/(大概需要2G内存),弱依赖kafka/prometheus/graylog/flink/xxl-job/apollo/hive(完全部署所有的服务,大概16G内存)。如果缺少相关的组件可戳:安装相关组件教程

实在想要clone项目后不用自己部署环境直接在本地启动debug,我这提供了股东服务直连部署好的服务器。

1、austin目前使用的MySQL版本5.7x,如果你使用的MySQL版本8.0,注意改变pom.xml所依赖的版本以及对应的连接信息。

2、填写application.propertiesspring.datasource对应的ip/port/username/password信息

3、执行doc/sql文件夹下的austin.sql创建对应的表

4、填写application.propertiesspring.redis对应的ip/port/password信息

5、以上配置信息都在application.properties文件中修改。(prometheus/graylog/flink/xxl-job/apollo/kafka/hive可选)

6austin前端管理系统部署,戳GitHubGitee跳转至对应的仓库

7、(可选)正常使用数据管理(查看实时数据链路下发)需要将austin-streamjar包上传至Flink,根据部署文档启动Flink。在打jar包前需要填写com.java3y.austin.stream.constants.AustinFlinkConstant中的rediskafkaip/port(注意:日志的topic在application.properties中的austin.business.log.topic.name。如果没有该topic,需要提前创建,并使用Kafka作为消息队列实现)

8、(可选)正常使用定时任务需要部署xxl-job,根据部署文档启动xxl的调度中心,并在application.properteis中填写 austin.xxl.job.ipaustin.xxl.job.port

9、(可选)正常使用分布式日志采集需要部署graylog,根据部署文档启动graylog,并在application.properteis中填写 austin.graylog.ip

10、(可选)正常使用系统监控需要部署promethusgrafana,根据部署文档配置grafana图表。

11、(可选)正常使用动态配置中心需要部署apollo,根据部署文档启动apollo,通过docker-compose启动需要在AustinApplication注入对应的ip和port(可看注释)。

12、(可选)正常使用数据仓库需要部署hive,根据部署文档通过flink把数据写入到hive中(flink环境也要安装好),将austin-data-housejar包提交到flink执行

官方项目交流群

austin项目官方交流群已经超过了两百人,添加我的个人微信 java3yyy 添加时备注:【项目】,我空的时候会拉进项目交流群里。

项目文档

🔥11W+字,共107个文档,带你玩转austin,详情可戳:消息推送平台文档