首页 文章详情

你技术看起来像是初级

Java3y | 179 2023-02-03 10:33 0 0 0
UniSMS (合一短信)

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

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

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

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

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

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

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

项目介绍

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

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

19b26082e4dcebe6b9663e35bb057b1a.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、创建需要发送的渠道账号

2116e38edd73280ec6a6794f95c5a3ba.webp

2、创建消息模板

eb0dac30826703d0551e6b7df50d129c.webp

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

03e46ca3895ddace6d6ba1e80d7a339f.webp

4、查看消息下发情况

7c986392a0cee8e8b4327a1d4b9e1055.webp523a7fd9da62e6178c3196a561eb83ee.webp

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

2b9f37f3c0ff21ba551115e554bd8a71.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
0f21ccbcac6ed4e67e2c8b20c1123425.webp

项目资料

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

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

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

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

5895900bdc1afe80a83b9ebe7013d50d.webp
good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter