项目规划
微服务SpringCloudAlibaba-项目规划
本篇持续更新,列举系统中所用到的模块,项目整体规划等…
技术选型
功能 | 组件 | 备注 |
---|---|---|
注册中心 | Nacos | |
链路调用 | Dubbo | |
链路追踪 | Sentinel | |
分布式事务 | Seata | |
消息 | RocketMQ | |
网关 | Gateway | |
部署 | Docker、Docker-Compose | |
任务调度 | XXL-JOB | |
鉴权 | Spring Security |
需要部署的组件
- Nacos
- Sentinel
- RocketMQ
- Nexus
- Nginx
项目目录
- docs
- bin: 项目脚本
- docker: 项目中需要部署的组件DockerCompose文件
- readme:项目文档
- kthirty-common:项目基础用来统一设置项目环境变量,项目基础运行枚举,集成必须组件作为业务代码的父项目
- kthirty-core: 项目核心封装
- kthirty-core-auto: 使用Google Auto Service解决核心包与主项目包名不同导致核心包中Bean、Configuration无法扫描问题(生成spring.factories利用Spring的Starter机制)
- kthirty-core-boot: 应用启动必须要使用的组件封装以及基础项目配置信息,包括组件有:Nacos服务注册与发现、Sentinel链路追踪与流控、actuator健康检查、Dubbo服务调用
- kthirty-core-tool: 应用工具类整合hutool、commons-lang3
- kthirty-core-db: 应用数据库访问包
- kthirty-dependencies: 应用依赖管理
- kthirty-parent: 应用统一父pom,不使用根目录下的pom作为父pom而创建parent项目是为了方便后期做项目拆分处理与开发人员权限管理。
- kthirty-demo: 应用demo与结构搭建测试历程
- kthirty-demo-boot: 微服务原生启动与服务注册
- kthirty-demo-boot-with-core: 使用核心包后的启动
- kthirty-demo-sentinel: Sentinel测试
- kthirty-demo-alibaba-dubbo-provider: Dubbo 调用生产者
- kthirty-demo-alibaba-dubbo-consumer: Dubbo 调用消费者
- kthirty-demo-alibaba-dubbo-provider-api: Dubbo 生产者api(service与entity)
- kthirty-demo-alibaba-dubbo-provider-with-core: 使用核心包的生产者
- kthirty-demo-alibaba-dubbo-consumer-with-core: 使用核心包的消费者
- kthirty-demo-db: 数据库访问常规版
- kthirty-demo-db-with-core: 数据库访问核心包版
端口规划
功能 | 组件 | 端口 |
---|---|---|
Nginx | Nginx | 30 |
注册中心 | Nacos | 10101 |
链路追踪 | Sentinel | 10102 |
Maven私服 | Nexus | 10103 |
数据库 | Mysql | 10104 |
系统返回码规划
返回码长度为6位,前两位为系统归属模块,后四位为0000-9999数字
- AA: 系统通用基础模块
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 KTHIRTY!