MCPcopy Index your code
hub / github.com/ZhongFuCheng3y/austin

github.com/ZhongFuCheng3y/austin @main sqlite

repository ↗ · DeepWiki ↗
826 symbols 2,542 edges 287 files 613 documented · 74%
README

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

:fire:项目在线演示地址:http://106.75.145.128:3001

:fire: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 添加时备注:【项目】,我空的时候会拉进项目交流群里。

项目文档

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

Extension points exported contracts — how you extend this code

SmsScript (Interface)
短信脚本 接口 @author 3y [6 implementers]
austin-handler/src/main/java/com/java3y/austin/handler/script/SmsScript.java
TaskHandler (Interface)
@author 3y @date 2022/2/9 具体处理定时任务逻辑的Handler [7 implementers]
austin-cron/src/main/java/com/java3y/austin/cron/service/TaskHandler.java
SendMqService (Interface)
@author 3y 发送数据至消息队列 [18 implementers]
austin-support/src/main/java/com/java3y/austin/support/mq/SendMqService.java
RecallService (Interface)
撤回接口 @author 3y [19 implementers]
austin-service-api/src/main/java/com/java3y/austin/service/api/service/RecallService.java
BusinessProcess (Interface)
业务执行器 @author 3y [12 implementers]
austin-common/src/main/java/com/java3y/austin/common/pipeline/BusinessProcess.java
MaterialService (Interface)
素材接口 @author 3y [2 implementers]
austin-web/src/main/java/com/java3y/austin/web/service/MaterialService.java
RedisPipelineCallBack (Interface)
redis pipeline接口定义 @author 3y [1 implementers]
austin-stream/src/main/java/com/java3y/austin/stream/callback/RedisPipelineCallBack.java
MessageReceiver (Interface)
消息接收者接口 @author xiaoxiamao @date 2024/06/16 [7 implementers]
austin-handler/src/main/java/com/java3y/austin/handler/receiver/MessageReceiver.java

Core symbols most depended-on inside this repo

getCode
called by 150
austin-common/src/main/java/com/java3y/austin/common/enums/PowerfulEnum.java
equals
called by 108
austin-common/src/main/java/com/java3y/austin/common/dto/account/sms/SmsAccount.java
execute
called by 30
austin-cron/src/main/java/com/java3y/austin/cron/handler/CronTaskHandler.java
fail
called by 28
austin-common/src/main/java/com/java3y/austin/common/vo/BasicResultVO.java
getAccountById
called by 26
austin-support/src/main/java/com/java3y/austin/support/utils/AccountUtils.java
success
called by 15
austin-common/src/main/java/com/java3y/austin/common/vo/BasicResultVO.java
print
called by 14
austin-support/src/main/java/com/java3y/austin/support/utils/LogUtils.java
filter
called by 11
austin-handler/src/main/java/com/java3y/austin/handler/action/SensWordsAction.java

Shape

Method 486
Class 291
Interface 28
Enum 21

Languages

Java100%

Modules by API surface

austin-handler/src/main/java/com/java3y/austin/handler/domain/wechat/robot/EnterpriseWeChatRobotParam.java15 symbols
austin-handler/src/main/java/com/java3y/austin/handler/domain/feishu/FeiShuRobotParam.java14 symbols
austin-web/src/main/java/com/java3y/austin/web/utils/Convert4Amis.java12 symbols
austin-web/src/main/java/com/java3y/austin/web/service/impl/MessageTemplateServiceImpl.java11 symbols
austin-web/src/main/java/com/java3y/austin/web/controller/MessageTemplateController.java11 symbols
austin-support/src/main/java/com/java3y/austin/support/utils/RedisUtils.java10 symbols
austin-support/src/main/java/com/java3y/austin/support/utils/OkHttpUtils.java10 symbols
austin-web/src/main/java/com/java3y/austin/web/service/MessageTemplateService.java9 symbols
austin-handler/src/main/java/com/java3y/austin/handler/domain/dingding/DingDingRobotParam.java9 symbols
austin-cron/src/main/java/com/java3y/austin/cron/xxl/service/impl/CronTaskServiceImpl.java9 symbols
austin-support/src/main/java/com/java3y/austin/support/config/OkHttpConfiguration.java8 symbols
austin-handler/src/main/java/com/java3y/austin/handler/script/impl/TencentSmsScript.java8 symbols

Dependencies from manifests, versioned

cn.hutool:hutool-all
cn.monitor4all:log-record-starter
com.alibaba.boot:nacos-config-spring-boot-starter
com.alibaba.fastjson2:fastjson2
com.alibaba.fastjson2:fastjson2-extension
com.alipay.sdk:alipay-sdk-java
com.aliyun:alibaba-dingtalk-service-sdk
com.github.binarywang:weixin-java-cp
com.github.binarywang:weixin-java-miniapp
com.github.binarywang:weixin-java-mp

Datastores touched

(mysql)Database · 1 repos
xxl_jobDatabase · 1 repos
metastoreDatabase · 1 repos
austinDatabase · 1 repos

For agents

$ claude mcp add austin \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact