代码拉取完成,页面将自动刷新
本系列文章使用Quarkus搭建一个通用的项目架构; 内容包括领域开发,主流技术,最佳实践,涉及开发,部署,监控;
Java17+Quarkus2+MyBatis+Redis+Docker
提供高并发,低内存的基础(使用GraalVM+Reactive) 提供专注业务的开发体验
百万级别
十人团队
Windows10+IDEA+Docker
直接部署到远程服务
生成docker镜像
Window10+WSL(Debian+GraalVM)
Interface接口层-负责处理网络协议相关的逻辑
** 主要功能 **
1. 网络协议的转换,获取数据并转换为相应的Bean,一般有框架处理
2. 统一鉴权,Session管理,获取当前用户,并作鉴权和校验
3. 异常处理,避免异常直接暴露给调用端,接口层做统一异常捕获,转化为调用端可以理解的数据格式
规范1:
Interface层的Http接口,返回值为ActionResult,捕获所有异常
Application应用层-负责业务流程
** 主要功能 **
1. 业务编排,不负责业务逻辑
2. 领域模型与对外输出DTO进行转换,包括Query, Input, Event
3. 使用合适的仓储获取数据和持久化数据
规范1:建议接入参数只有一个对象(例外情况:根据单一ID查询和分页的情况)
规范2:针对不同的语义,要避免对象的复用
规范3:[MAPPER] fromEntity从实体转视图, fromInput从视图转实体
规范4:[APPLICATION] loadXXX从数据库获取,find从缓存获取
Repository存储层
规范1:数据表prefix,et_表示与entity相关的业务数据,gb_表示公共数据,与业务没有直接关系
规范2:数据表名采用下划线命名法,小写字母与下划线组合
规范3:使用SQL相关标识做为方法开头select,insert
准备篇
准备篇-Quarkus是什么 准备篇-使用GraalVM 准备篇-关于JavaEE 准备篇-与SpringBoot不同
基础篇
基础篇-项目架构 基础篇-使用Native 基础篇-使用Reactive
实战篇
实战篇-部署 实战篇-监控
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。