×

Austin消息推送平台

消耗积分:2 | 格式:zip | 大小:0.00 MB | 2022-06-14

分享资料个

授权协议 Apache-2.0
开发语言 Java
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发网络工具包

软件简介

Austin 是一个消息推送平台推送下发【邮件】【短信】【微信服务号】【微信小程序】【企业微信】【钉钉】等消息类型。所使用的技术栈包括:SpringBoot、SpringDataJPA、MySQL、Docker、docker-compose、Kafka、Redis、Apollo、prometheus、Grafana、GrayLog、Flink、Xxl-job、Echarts 等等。

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

pYYBAGKhzjaAA3eXAACaOslA8hU309.jpg

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

pYYBAGKhzjmAeSQ9AARnOyvpDqE555.jpg

系统项目架构

austin 项目核心流程austin-api接收到发送消息请求,直接将请求进MQaustin-handler消费MQ消息后由各类消息的 Handler 进行发送处理。

pYYBAGKhzjuAaguXAARvr1V52DU571.png

Question :为什么发个消息需要MQ?

Answer:发送消息实际上是调用各个服务提供的API,假设某消息的服务超时,austin-api如果是直接调用服务,那存在超时风险,拖垮整个接口性能。MQ在这是为了做异步和解耦,并且在一定程度上抗住业务流量。

Question:能简单说下接入层做了什么事吗?

Answer

poYBAGKhzjyAYabhAAFg7yMeMtw846.png

Questionaustin-streamaustin-datahouse的作用?

Answeraustin-handler在发送消息的过程中会做些通用业务处理以及发送消息,这个过程会产生大量的日志数据。日志数据会被收集至MQ,由austin-stream流式处理模块进行消费并最后将数据写入至austin-datahouse

poYBAGKhzj6ASEE2AAL8WQdjsd4532.png

Questionaustin-adminaustin-webaustin-cron的作用?

Answerautsin-adminaustin项目的前端项目,可通过它实现对管理消息以及查看消息下发的情况,而austin-web则是提供相关的接口给到austin-admin进行调用(austin项目是前后端分离的)

业务方可操作austin-admin管理后台调用austin-web创建定时发送消息,austin-cron就承载着定时任务处理的工作。

 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !