你技术看起来像是初级

共 4325字,需浏览 9分钟

 ·

2023-02-03 10:33


我推荐一个拥有从零开始的文档的Java开源项目,既能用于毕业设计,又可以用在面试


该项目业务极容易理解,代码结构是比较清晰的,最可怕的是几乎每个方法和每个类都带有中文注释,并且代码完全通过阿里开发插件检查。


拥有非常全的文档,作者从零搭建的过程都有详细地记录,项目里使用了蛮多的可靠和稳定的中间件的。在使用每一个技术栈之前作者都讲述了为什么要使用,以及它的业务背景。我看过,他所说的场景是完全贴合线上环境的


我感觉这个项目就是奔着真实互联网线上项目去设计和实现的,将项目克隆下来把中间件换成目前公司在用的,配合自身的需求完善下基础建设,它就能在线上运行了。


我跟着README文档的部署使用姿势很快就能跑起来,最少只需要依赖MySQL和Redis。作者还搞了个前端功能界面,这就让系统变得更好理解了。而且,在GitHub或者Gitee所提的Issue几乎都会有回复,看出来也非常乐于合并开发者们的pull request,会让人参与感贼强


我相信在校、工作一年左右或常年做内网CRUD后台的同学去看看肯定会有所启发,作者也会经常在群里回答该项目相关的问题和代码设计思路。


项目里会应用到各种设计模式(我稍微看了下,应该有7~8种吧),用到了各种的好用的工具组件,动态线程池、日志切面组件之类,都是主流的技术栈...目前这个项目GitHub和Gitee加起来已经 7K stars了,我相信破万是迟早的事情。


项目介绍


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


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


9817ca25de4897eb7a304a5e1c15a614.webp

技术栈












































技术栈 实现

编程语言

Java(JDK 1.8)

项目管理工具

Maven 3.x

集成开发工具

IDEA 2022

部署服务器

Centos 7.6

系统部署工具

Docker & Docker-compose

项目环境

SpringBoot 2.5.6

关系型数据库

MySQL 5.7.X

缓存数据库

Redis:lastest

ORM框架

SpringData JPA 2.5.6

分布式定时任务框架

XXL-JOB v2.3.0

分布式配置中心

Apollo & Nacos

消息队列

Kafka & RabbitMQ & RocketMQ

分布式日志采集框架

Graylog

分布式计算引擎

Flink 1.16.0

监控采集组件

Prometheus

监控可视化组件

Grafana

数据仓库

Hive 2.3.2

大数据环境

Hadoop 2.7.4

大数据可视化

Metabase:lastest

前端技术

Amis

使用教程


🔥项目有预览地址,可自行体验http://139.9.66.219:3000/


1、创建需要发送的渠道账号


a54c95d2d9754d9db457a18dacf2aed3.webp

2、创建消息模板


9b71be6e9656c3d31c4609abd087408e.webp

3、测试发送消息是否正常


8b5c234498cd8d1555a71f4d977c5687.webp

4、查看消息下发情况


f6073d05654268e55c5c3950df069e1e.webp57f2c9770f8bc4cd19da5879df4dc467.webp

5、亦可在新建模板时选择定时任务,通过上传csv文件和指定cron表达式实现下发消息


fe35153e5c9f7fe653162a6ac20004a5.webp

工程模块&系统流程


了解工程模块的职责,这对看项目代码的时候会有个比较清晰的认识:






















工程模块 作用

austin-common

项目公共包:存储着项目公共常量/枚举/Bean

austin-support

项目工具包:对接中间件/组件

austin-cron

定时任务模块:对xxl-job封装和项目定时任务逻辑

austin-web

后台管理模块:提供接口给前端调用

austin-service-api

消息接入层接口定义模块:只有接口和必要的入参依赖

austin-service-api-impl

消息接入层具体实现模块:真实处理请求

austin-handler

消息处理逻辑层:消费MQ下发消息

austin-stream

实时处理模块:利用flink实时处理下发链路数据

austin-data-house

数据仓库模块:消费MQ数据写入hive
4f08784cb50ef849de9d779fddebda5a.webp

项目资料


Gitee仓库地址:https://gitee.com/zhongfucheng/austin


GitHub仓库地址:https://github.com/ZhongFuCheng3y/austin


项目视频:https://space.bilibili.com/198434865/channel/collectiondetail?sid=435119


扫描下方二维码可获取项目从零到一搭建项目的笔记,只需要在后台回复「austin」即可获取。


e6e054f48ba3cc33c3ea768420e43c50.webp
浏览 60
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报