稳了!我的Q4目标
大家好,我是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
接收到发送消息请求,直接将请求进MQ
。austin-handler
消费MQ
消息后由各类消息的Handler进行发送处理
Question 1 :为什么发个消息需要MQ?
Answer 1:发送消息实际上是调用各个服务提供的API,假设某消息的服务超时,austin-api
如果是直接调用服务,那存在超时风险,拖垮整个接口性能。MQ在这是为了做异步和解耦,并且在一定程度上抗住业务流量。
Question 2:austin-stream
和austin-datahourse
的作用?
Answer 2:austin-handler
在发送消息的过程中会做些通用业务处理以及发送消息,这个过程会产生大量的日志数据。日志数据会被收集至MQ,由austin-stream
流式处理模块进行消费并最后将数据写入至austin-datahourse
Question 3:austin-admin
和austin-cron
的作用?
Answer 3:autsin-admin
是austin
项目的管理后台,负责管理消息以及查看消息下发的情况。业务方可根据通过austin-admin
管理后台直接定时发送消息,而austin-cron
就是承载着定时任务的工作了。
03、项目技术架构图
2021-11~2021-12实现功能:
实现功能所需引入的技术栈:
未完待续(Gitee地址阅读原文即可)