[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-4339":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":29,"discoverSource":30},4339,"austin","ZhongFuCheng3y\u002Faustin","ZhongFuCheng3y","消息推送平台🔥 推送下发【邮件】【短信】【微信服务号】【微信小程序】【企业微信】【钉钉】等消息类型。","http:\u002F\u002F106.75.176.183:3001",null,"Java",6057,1451,73,4,0,2,9,1,67.39,"Apache License 2.0",false,"master",true,[],"2026-06-12 04:00:22","![](doc\u002Fimages\u002Ftitile.jpeg)\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"#\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAuthor-3y-orange.svg\" alt=\"作者\">\u003C\u002Fa>\n  \u003Ca href=\"#项目官方交流群\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F项目群-交流-red.svg\" alt=\"项目群交流\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgitee.com\u002Fzhongfucheng\u002Faustin\">\u003Cimg src=\"https:\u002F\u002Fgitee.com\u002Fzhongfucheng\u002Faustin\u002Fbadge\u002Fstar.svg?theme=dark\" alt=\"Gitee Starts\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgitee.com\u002Fzhongfucheng\u002Faustin\">\u003Cimg src=\"https:\u002F\u002Fgitee.com\u002Fzhongfucheng\u002Faustin\u002Fbadge\u002Ffork.svg?theme=dark\" alt=\"Gitee Starts\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FZhongFuCheng3y\u002Faustin\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002FZhongFuCheng3y\u002Faustin.svg?style=flat&label=GithubFork\">\u003C\u002Fa> \n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FZhongFuCheng3y\u002Faustin\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FZhongFuCheng3y\u002Faustin.svg?style=flat&label=GithubStars\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002FZhongFuCheng3y\u002Faustin\" alt=\"issue-open\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-closed\u002FZhongFuCheng3y\u002Faustin\" alt=\"issue-close\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-pr\u002FZhongFuCheng3y\u002Faustin\" alt=\"issue-close\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-pr-closed\u002FZhongFuCheng3y\u002Faustin\" alt=\"issue-close\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002FZhongFuCheng3y\u002Faustin\" alt=\"issue-close\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FJDK-8-red.svg\" alt=\"jdk版本\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSpringBoot-2.5.6-green.svg\" alt=\"SpringBoot版本\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCentos-7.6-blue.svg\" alt=\"Centos版本\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMySQL-5.7.x-orange.svg\" alt=\"MySQL版本\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fmaven-3.6.x-red.svg\" alt=\"maven版本\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FORM-SpringData JPA-blue.svg\" alt=\"ORM框架\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCache-Redis-orange.svg\" alt=\"ORM框架\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F分布式定时任务-xxljob-green.svg\" alt=\"分布式定时任务\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F分布式配置中心-Apollo & Nacos-blue.svg\" alt=\"分布式配置中心\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F分布式消息队列-Kafka & RabbmitMQ & RocketMQ-red.svg\" alt=\"分布式消息队列\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F分布式日志采集-Graylog-orange.svg\" alt=\"分布式日志采集\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F分布式计算引擎-Flink-red.svg\" alt=\"计算引擎\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F监控组件-Promethus-blue.svg\" alt=\"系统监控\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F监控可视化-Grafana-green.svg\" alt=\"系统监控\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F系统部署-Docker & DockerCompose-yellow.svg\" alt=\"部署\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F大数据环境-Hadoop-red.svg\" alt=\"部署\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F数据仓库-Hive-orange.svg\" alt=\"部署\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F大数据可视化-Metabase-green.svg\" alt=\"部署\">\u003C\u002Fa>\n  \u003Ca href=\"#项目文档\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F前端页面-amis-red.svg\" alt=\"前端\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\n:fire:项目在线演示地址：[http:\u002F\u002F106.75.145.128:3001](http:\u002F\u002F106.75.145.128:3001)\n\n:fire:**11W+字，共107个文档，带你玩转austin**，详情可戳：[消息推送平台文档](https:\u002F\u002Fwww.yuque.com\u002Fu1047901\u002Feg5qvy\u002Fhh0gk5p4uwie8bva)\n\n## 消息推送平台austin介绍\n\n**核心功能**：统一的接口发送各种类型消息，对消息生命周期全链路追踪。\n\n**意义**：只要公司内部有发送消息的需求，都应该要有类似`austin`的项目。消息推送平台对各类消息进行统一发送处理，这有利于对功能的收拢，以及提高业务需求开发的效率。\n\n![](doc\u002Fimages\u002F1.jpeg)\n\n## 项目特性\n\n**简单易用**：通过Web页面快速对接模板，操作简单，一分钟上手\n\n**多渠道消息下发**：支持短信、邮件、微信服务号（模板消息）、微信小程序（订阅消息）、钉钉（群机器人）、钉钉（工作消息）、安卓push通知栏、企业微信(机器人消息)、企业微信（应用消息）、飞书机器人消息。\n\n**渠道资源隔离**：不同的渠道不同的消息类型下发互不影响。例如邮件下发通道跟短信下发通道是隔离的，邮件发送缓慢不影响短信的正常发送。\n\n**全渠道多维度消息链路追踪**：分别以用户、模板、消息的维度监控下发的过程，可准实时查看消息下发的情况。\n\n**配置化人群定时消息下发**：上传人群文件，设置cron表达式定时下发消息。\n\n**消息模板动态可变**：模板支持通过占位符，支持可变参数动态传入。\n\n**高性能发送接口**：异步发送接口，支持批量发送，能支撑高并发流量。\n\n**多渠道素材管理**：钉钉\u002F企业微信的富文本消息需提前将素材上传至渠道平台。\n\n**高效接入新短信渠道**：利用hades规则引擎无需系统发布上下线，即可接入新的短信渠道。\n\n**短信流量可配置**：短信多渠道可动态配置发送到每个短信渠道的流量占比。\n\n**消息推送平台特性**：支持消息下发文案和频次去重，夜间消息屏蔽或次日发送。\n\n**容器化部署**：项目支持docker部署，项目相关中间件用docker-compose一键部署。\n\n## 使用姿势\n\n**1**、创建需要发送的渠道账号\n\n![](doc\u002Fimages\u002F2.jpeg)\n\n**2**、创建消息模板\n\n![](doc\u002Fimages\u002F3.jpeg)\n\n**3**、测试发送消息是否正常\n\n![](doc\u002Fimages\u002F4.jpeg)\n\n**4**、查看消息下发情况\n\n![](doc\u002Fimages\u002F5.jpeg)\n\n![](doc\u002Fimages\u002F6.jpeg)\n\n**5**、亦可在新建模板时选择**定时任务**，通过上传[csv文件](https:\u002F\u002Fwww.yuque.com\u002Foffice\u002Fyuque\u002F0\u002F2022\u002Fcsv\u002F1285871\u002F1671865125068-b5385387-b4a4-41ac-a43e-bab54ee49d88.csv?from=https%3A%2F%2Fwww.yuque.com%2Fu1047901%2Fniffsu%2Fqqtese%2Fedit)和指定cron表达式实现下发消息\n\n![](doc\u002Fimages\u002F7.jpeg)\n\n## 部署姿势\n\naustin项目**强依赖**`MySQL`\u002F`Redis`\u002F(**大概需要2G内存**)，**弱依赖**`kafka`\u002F`prometheus`\u002F`graylog`\u002F`flink`\u002F`xxl-job`\u002F`apollo`\u002F`hive`(**完全部署所有的服务，大概16G内存**)。如果缺少相关的组件可戳：[安装相关组件教程](doc\u002FINSTALL.md)。\n\n> 实在想要`clone`项目后不用自己部署环境直接在**本地**启动`debug`，我这提供了[股东服务](https:\u002F\u002Fwww.yuque.com\u002Fu1047901\u002Feg5qvy\u002Fhh0gk5p4uwie8bva)，**直连**部署好的服务器。\n\n**1**、austin目前使用的MySQL版本**5.7x**，如果你使用的MySQL版本8.0，注意改变`pom.xml`所依赖的版本以及对应的连接信息。\n\n**2**、填写[application.properties](austin-web\u002Fsrc\u002Fmain\u002Fresources\u002Fapplication.properties)中`spring.datasource`对应的`ip\u002Fport\u002Fusername\u002Fpassword`信息\n\n**3**、执行`doc\u002Fsql`文件夹下的[austin.sql](doc\u002Fsql\u002Faustin.sql)创建对应的表\n\n**4**、填写[application.properties](austin-web\u002Fsrc\u002Fmain\u002Fresources\u002Fapplication.properties)中`spring.redis`对应的`ip`\u002F`port`\u002F`password`信息\n\n**5**、以上配置信息都在[application.properties](austin-web\u002Fsrc\u002Fmain\u002Fresources\u002Fapplication.properties)文件中修改。(`prometheus`\u002F`graylog`\u002F`flink`\u002F`xxl-job`\u002F`apollo`\u002F`kafka`\u002F`hive`可选)\n\n**6**、**austin前端管理系统部署**，戳[GitHub](https:\u002F\u002Fgithub.com\u002FZhongFuCheng3y\u002Faustin-admin)或[Gitee](https:\u002F\u002Fgitee.com\u002Fzhongfucheng\u002Faustin-admin)跳转至对应的仓库\n\n**7**、（可选）正常使用**数据管理**(查看实时数据链路下发)需要将`austin-stream`的`jar`包上传至`Flink`，根据[部署文档](doc\u002FINSTALL.md)启动Flink。在打`jar`包前需要填写`com.java3y.austin.stream.constants.AustinFlinkConstant`中的`redis`和`kafka`的`ip\u002Fport`（注意：日志的topic在`application.properties`中的`austin.business.log.topic.name`。如果没有该topic，需要提前创建，并**使用Kafka**作为消息队列实现)\n\n**8**、（可选）正常使用**定时任务**需要部署`xxl-job`，根据[部署文档](doc\u002FINSTALL.md)启动xxl的调度中心，并在`application.properteis`中填写  `austin.xxl.job.ip`和`austin.xxl.job.port`\n\n**9**、（可选）正常使用**分布式日志采集**需要部署`graylog`，根据[部署文档](doc\u002FINSTALL.md)启动`graylog`，并在`application.properteis`中填写  `austin.graylog.ip`。\n\n**10**、（可选）正常使用**系统监控**需要部署`promethus`和`grafana`，根据[部署文档](doc\u002FINSTALL.md)配置`grafana`图表。\n\n**11**、（可选）正常使用**动态配置中心**需要部署`apollo`，根据[部署文档](doc\u002FINSTALL.md)启动`apollo`，通过docker-compose启动需要在AustinApplication注入对应的ip和port(可看注释)。\n\n**12**、（可选）正常使用**数据仓库**需要部署`hive`，根据[部署文档](doc\u002FINSTALL.md)通过`flink`把数据写入到`hive`中（`flink`环境也要安装好），将`austin-data-house`的`jar`包提交到`flink`执行\n\n\n## 官方项目交流群\n\naustin项目官方交流群已经超过了两百人，添加我的个人微信 java3yyy 添加时备注：【**项目**】，我空的时候会拉进项目交流群里。\n\n\u003Cimg align=\"center\" src='doc\u002Fimages\u002F8.png' width=300px height=300px \u002F>\n\n## 项目文档\n\n:fire:**11W+字，共107个文档，带你玩转austin**，详情可戳：[消息推送平台文档](https:\u002F\u002Fwww.yuque.com\u002Fu1047901\u002Feg5qvy\u002Fhh0gk5p4uwie8bva)\n\n![](doc\u002Fimages\u002F9.png) \n","Austin 是一个消息推送平台，支持多种消息类型的下发，包括邮件、短信、微信服务号、微信小程序、企业微信和钉钉等。该项目采用 Java 语言开发，基于 Spring Boot 框架，并使用了 Redis 作为缓存，Kafka、RabbitMQ 和 RocketMQ 作为分布式消息队列，以及 Apollo 和 Nacos 作为分布式配置中心。此外，它还集成了 Flink 用于实时数据处理，Prometheus 和 Grafana 用于系统监控与可视化。Austin 适合需要统一管理和发送多种类型消息的应用场景，如企业内部通讯、营销活动通知等。","2026-06-11 02:59:43","top_language"]