00.项目介绍

3y 2021-11-01 22:49:39
Categories: Tags:

大家好,我是3y,我又来了

周末我扛着电脑回家,二话不说我一大早就去了家里附近的图书馆(真香),经过周末的不懈努力,我写出了austin项目的第二篇文章。

周一我请了一天病假去复诊耳朵了,只花了半天时间,医生说恢复得挺好,于是我冲忙地回到宿舍,肝出了austin项目的第三篇文章。

周一晚上,我越想越不对劲。因为这两天太多人问我austin项目到底是干什么的了,第二篇和第三篇文章都跟项目业务没什么关系。我秉着只回答一次原则,熬夜肝出了austin的第零篇文章。

第零篇我预估每个Q都会更新大迭代,这篇我会放在Gitee README.md持续更新。很多细节我也还没考虑好,比如前端对我来说就是件比较头疼的事(不过这两个月我预估都不会碰)

我发现还蛮多人挺在意我前端使用什么技术,到时候怎么写。

说实话,我也不知道。我前端在大学的时候搞过HTML+CSS+JavaScript+jQuery+Ajax+BootStrap,作为后台页面大概能用的效果。

我毕业听得比较多的都是Vue+Angular+React了,还有Node.js的环境等等,这些我一个都没学过(我目前也提不起兴趣去学)

前端这块还有很多细节敲定,到时候再说吧。说不定到时候或许可能大概有大佬可以支持下呢?不过很可能还是我自己来写,毕竟我自己能做到的事情,也没必要麻烦别人。

所以,今天先更新下austin的介绍以及Q4对austin项目的安排吧,后续等我这个Q的安排做完了,我就继续补充第零篇

站在我的角度,我认为:austin项目的业务很简单,可玩性很足,能用到的技术栈也很丰富,比较适合初学者

后面在写的时候,我会穿插些我认为项目的亮点,我的目标是:该项目会成为Java小白简历上的一个项目(不再是清一色的商城项目)

01、项目介绍

austin项目核心功能:发送消息

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

02、项目流程图

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

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

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

Question 2austin-streamaustin-datahourse的作用?

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

Question 3austin-adminaustin-cron的作用?

Answer 3autsin-adminaustin项目的管理后台,负责管理消息以及查看消息下发的情况。业务方可根据通过austin-admin管理后台直接定时发送消息,而austin-cron就是承载着定时任务的工作了。

03、项目技术架构图

2021-11~2021-12实现功能:

实现功能所需引入的技术栈:

Gitee链接:https://gitee.com/zhongfucheng/austin

GitHub链接:https://github.com/ZhongFuCheng3y/austin