微服务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: 系统通用基础模块