![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/2ccd794db76e482680f72d60959cf368~tplv-k3u1fbpfcp-zoom-1.image)
<p align="center">
<a href="#"><img src="https://img.shields.io/badge/Author-3y-orange.svg" alt="作者"></a>
<a href="https://gitee.com/zhongfucheng/austin"><img src="https://gitee.com/zhongfucheng/austin/badge/star.svg?theme=dark" alt="gitee Starts"></a>
<a href="https://gitee.com/zhongfucheng/austin"><img src="https://gitee.com/zhongfucheng/austin/badge/fork.svg?theme=dark" alt="gitee Starts"></a>
<a href="https://github.com/ZhongFuCheng3y/austin"><img src="https://img.shields.io/github/forks/ZhongFuCheng3y/austin.svg?style=flat&label=GithubFork"></a>
<a href="https://github.com/ZhongFuCheng3y/austin"><img src="https://img.shields.io/github/stars/ZhongFuCheng3y/austin.svg?style=flat&label=GithubStars"></a>
<a href="https://github.com/ZhongFuCheng3y/austin-admin"><img src="https://img.shields.io/badge/austin前端-GitHub-green.svg" alt="作者"></a>
<a href="#项目交流"><img src="https://img.shields.io/badge/项目-交流-red.svg" alt="项目交流"></a>
<a href="#如何准备面试"><img src="https://img.shields.io/badge/如何准备-面试-yellow.svg" alt="对线面试官"></a>
</p>
## 项目介绍
austin项目**核心功能**:统一的接口发送各种类型消息,对消息生命周期全链路追踪
![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/5436b2e3d6cd471db9aafbd436198ca7~tplv-k3u1fbpfcp-zoom-1.image)
**项目出现意义**:只要公司内有发送消息的需求,都应该要有类似`austin`的项目,对各类消息进行统一发送处理。这有利于对功能的收拢,以及提高业务需求开发的效率
![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/c267ebb2ff234243b8665312dbb46310~tplv-k3u1fbpfcp-zoom-1.image)
## 系统项目架构
austin项目**核心流程**:`austin-api`接收到发送消息请求,直接将请求进`MQ`。`austin-handler`消费`MQ`消息后由各类消息的Handler进行发送处理
![](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/b5d4dfde0f164805a6e85a86498b0cd7~tplv-k3u1fbpfcp-watermark.image?)
**Question** :为什么发个消息需要MQ?
**Answer**:发送消息实际上是调用各个服务提供的API,假设某消息的服务超时,`austin-api`如果是直接调用服务,那存在**超时**风险,拖垮整个接口性能。MQ在这是为了做异步和解耦,并且在一定程度上抗住业务流量。
**Question**:能简单说下接入层做了什么事吗?
**Answer**:
![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/c94059a008784a69bd10b98caa46d683~tplv-k3u1fbpfcp-zoom-1.image)
**Question**:`austin-stream`和`austin-datahouse`的作用?
**Answer**:`austin-handler`在发送消息的过程中会做些**通用业务处理**以及**发送消息**,这个过程会产生大量的日志数据。日志数据会被收集至MQ,由`austin-stream`流式处理模块进行消费并最后将数据写入至`austin-datahouse`
![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e4bd420001c549ebad922637f7b2e38a~tplv-k3u1fbpfcp-zoom-1.image)
**Question**:`austin-admin`和`austin-web`和`austin-cron`的作用?
**Answer**:`autsin-admin`是`austin`项目的前端项目,可通过它实现对管理消息以及查看消息下发的情况,而`austin-web`则是提供相关的接口给到`austin-admin`进行调用(austin项目是前后端分离的)
业务方可操作`austin-admin`管理后台调用`austin-web`创建**定时**发送消息,`austin-cron`就承载着定时任务处理的工作
## 使用姿势
目前引用的中间件教程的安装姿势均基于`Centos 7.6`(**完全部署所有的服务,大概8G内存**),austin项目**强依赖**`MySQL`/`Redis`/`Kafka`/`apollo`,**弱依赖**`prometheus`/`graylog`/`flink`/`xxl-job`。如果缺少相关的组件可戳:[安装相关组件教程](INSTALL.md)。
> 实在想要`clone`项目后不用自己部署环境直接在本地启动`debug`,我这提供了[会员服务](https://mp.weixin.qq.com/s?__biz=MzI4Njg5MDA5NA==&mid=2247505577&idx=1&sn=5114f8f583755899c2946fbea0b22e4b&chksm=ebd497a8dca31ebe8f98344483a00c860863dfc3586e51eed95b25988151427fee8101311f4f&token=735778370&lang=zh_CN#rd),**直连**部署好的服务器
**1**、austin使用的MySQL版本**5.7x**。如果目前使用的MySQL版本8.0,注意改变`pom.xml`所依赖的版本
**2**、填写`application.properties`中`austin-database`对应的`ip/port/username/password`信息
**3**、执行`sql`文件夹下的`austin.sql`创建对应的表以及插入测试数据
**4**、填写`application.properties`中`austin-kafka`对应的`ip`/`port`信息
**5**、填写`application.properties`中`austin-redis`对应的`ip`/`port`信息
**6**、检查`apollo`的`app.id`/`apollo.bootstrap.namespaces`,检查创建的消息队列topic:`austin.business.topic.name`
**7**、以上配置信息都在`application.properties`文件中修改。
**8**、由于使用了Apollo且我是在云服务器上安装的,我这边会直接跳过`metaserver`服务发现,在`AustinApplication`需要配置对应的apollo地址(注意端口!)
**9**、发送渠道**账号的信息**都配置在**apollo**,配置的示例参照`com.java3y.austin.support.utils#getAccount`中的注释
**10**、调用http接口`com.java3y.austin.web.controller#send`给自己发一条短信或者邮件感受
```shell
curl -XPOST "127.0.0.1:8080/send" -H 'Content-Type: application/json' -d '{"code":"send","messageParam":{"extra":null,"receiver":"13719333899"},"messageTemplateId":1}'
```
**11**、austin前端管理系统部署(一分钟即能打开),戳[GitHub](https://github.com/ZhongFuCheng3y/austin-admin)或[Gitee](https://gitee.com/zhongfucheng/austin-admin)查看
![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a023d9082fa644bda9b50144e02985cb~tplv-k3u1fbpfcp-zoom-1.image)
![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7125184e9fbf4de8b522aecbd4e791df~tplv-k3u1fbpfcp-zoom-1.image)
![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/4adde725eeee443baf96f286f5429f05~tplv-k3u1fbpfcp-zoom-1.image)
![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/01d028359e6e4229825a7fd8cc22c6c7~tplv-k3u1fbpfcp-zoom-1.image)
**12**、正常使用**数据管理**(查看实时数据链路下发)需要将`austin-stream`的`jar`包上传至`Flink`,根据[部署文档](INSTALL.md)启动Flink。在打`jar`包前需要填写`com.java3y.austin.stream.constants.AustinFlinkConstant`中的`redis`和`kafka`的`ip/port`(注:日志的topic在`application.properties`中的`austin.business.log.topic.name`。如果没有该topic,需要提前创建)
**13**、正常使用**定时任务**需要部署`xxl-job`,根据[部署文档](INSTALL.md)启动xxl的调度中心,并在`application.properteis`中填写 `austin-xxl-job-ip`和`austin-xxl-job-port`
**14**、正常使用**分布式日志采集**需要部署`graylog`,根据[部署文档](INSTALL.md)启动`graylog`,并在`application.properteis`中填写 `austin-grayLog-ip`
**14**、正常使用**系统监控**需要部署`promethus`和`grafana`,根据[部署文档](INSTALL.md)配置`grafana`图表
## 会员服务
收费课程是以**项目**为主,代码在Gitee和GitHub上都是开源的,项目没有商业版,后面也不会有。那么,付费跟我自己去拉Git仓库拉代码下来看有什么区别?
1、有很多人的自学能力和基础确实不太行,不知道怎么开始学习,从哪开始看起,学习项目的过程中会走很多弯路,很容易就迷茫了。付费最跟自学最主要的区别就是**我的服务会更周到**。
我会告诉你怎么开始学这个开源项目,哪些是重点需要掌握的,如何利用最短的时间把握整个系统架构和编码的设计,把时间节省下来去做其他事情。
2、一个生产环境的系统肯定会依赖各种中间件,《消息推
没有合适的资源?快使用搜索试试~ 我知道了~
austin消息推送平台 v1.0.zip
共214个文件
java:184个
xml:10个
yml:6个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 106 浏览量
2024-03-18
21:20:49
上传
评论
收藏 250KB ZIP 举报
温馨提示
austin消息推送平台 v1.0.zip
资源推荐
资源详情
资源评论
收起资源包目录
austin消息推送平台 v1.0.zip (214个子文件)
redis.conf 242B
example.csv 677B
.gitignore 415B
说明.htm 4KB
DataServiceImpl.java 9KB
CronTaskServiceImpl.java 8KB
PushHandler.java 7KB
MessageTemplateController.java 6KB
MessageTemplateServiceImpl.java 6KB
OkHttpUtils.java 5KB
AssembleAction.java 5KB
RedisUtils.java 5KB
TencentSmsScript.java 5KB
DingDingRobotHandler.java 5KB
YunPianSmsScript.java 4KB
DingDingWorkNoticeHandler.java 4KB
TencentSmsReceipt.java 4KB
ReadFileUtils.java 4KB
EnterpriseWeChatHandler.java 4KB
MiniProgramAccountServiceImpl.java 4KB
OfficialAccountServiceImpl.java 4KB
XxlJobUtils.java 4KB
SendServiceImplTest.java 3KB
DingDingRobotParam.java 3KB
AbstractLazyPending.java 3KB
RefreshGeTuiAccessTokenHandler.java 3KB
SnowFlakeIdUtils.java 3KB
CrowdBatchTaskPending.java 3KB
TaskHandlerImpl.java 3KB
AfterParamCheckAction.java 3KB
RefreshDingDingAccessTokenHandler.java 3KB
SimpleLimitService.java 3KB
AccountUtils.java 3KB
FlowControlServiceImpl.java 3KB
AustinSink.java 3KB
EmailHandler.java 3KB
OkHttpConfiguration.java 3KB
Receiver.java 3KB
ProcessController.java 3KB
SendServiceImpl.java 3KB
BasicResultVO.java 3KB
CronAsyncThreadPoolConfig.java 3KB
SmsHandler.java 2KB
SlideWindowLimitService.java 2KB
ShieldServiceImpl.java 2KB
MiniProgramAccountHandler.java 2KB
MessageTemplate.java 2KB
PreParamCheckAction.java 2KB
DataController.java 2KB
SendPushParam.java 2KB
ThreadPoolExecutorShutdownDefinition.java 2KB
PipelineConfig.java 2KB
BaseHandler.java 2KB
SendAccountConstant.java 2KB
NightShieldLazyPendingHandler.java 2KB
ContentHolderUtil.java 2KB
ConvertMap.java 2KB
XxlJobInfo.java 2KB
EchartsVo.java 2KB
ChannelType.java 2KB
OfficialAccountHandler.java 2KB
ReceiverStart.java 2KB
LogUtils.java 2KB
Task.java 2KB
AbstractDeduplicationService.java 2KB
AustinBootStrap.java 2KB
SwaggerConfiguration.java 2KB
SendMqAction.java 2KB
TaskPendingHolder.java 2KB
SmsReceipt.java 2KB
LettuceRedisUtils.java 2KB
TaskInfoUtils.java 2KB
YunPianSendResult.java 2KB
RefreshTokenController.java 2KB
DeduplicationRuleService.java 2KB
XxlJobConfig.java 1KB
DiscardMessageService.java 1KB
FrequencyDeduplicationService.java 1KB
HandlerThreadPoolConfig.java 1KB
MessageTemplateService.java 1KB
ContentDeduplicationService.java 1KB
TaskInfo.java 1KB
SmsRecord.java 1KB
AustinConstant.java 1KB
SendController.java 1KB
AbstractDeduplicationBuilder.java 1KB
CronTaskService.java 1KB
GroupIdMappingUtils.java 1KB
CronTaskHandler.java 1KB
FrequencyDeduplicationBuilder.java 1KB
SupportThreadPoolConfig.java 1KB
XxlJobGroup.java 1KB
AnchorState.java 1KB
XxlJobConstant.java 1KB
RespStatusEnum.java 1KB
SmsTimeLineVo.java 1KB
AbstractLimitService.java 1KB
WeChatMiniProgramAccount.java 1KB
TencentSmsAccount.java 1019B
ContentDeduplicationBuilder.java 1002B
共 214 条
- 1
- 2
- 3
资源评论
芝麻粒儿
- 粉丝: 6w+
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功