外观
微服务介绍
AgileBPM微服务工程,源自基础工程的服务化拆分,引入了阿里优秀开源微服务框架Spring Cloud Alibaba,支持分布式事务、流控、服务注册与发现、集中化配置。
架构图
微服务解决方案
Spring Cloud Alibaba 技术栈
- 服务注册发现
Nacos
- 集中化配置中心
Nacos
- 分布式事务
Seata
- 分布式流控
Sentinel
- 远程调用
OpenFeign
- 分布式任务调度
xxl-job
- 文件存储
Aliyun-OSS、Minio
- 权限控制
OAuth2
- 单点登录
架构核心依赖
依赖 | 版本 |
---|---|
SpringBoot | 2.6.2 |
Spring Cloud | 2021.0.3 |
Spring Cloud Alibaba | 2021.0.1.0 |
项目模块
shell
ab-cloud(项目工程)
├── ab-cloud-bpm(流程模块)
│ ├── ab-bpm-service(流程微服务)
│ ├── ab-bpm-service-client(流程微服务Feign调用客户端)
│ ├── ab-bpm-service-endpoint(流程服务内置接口暴露点,对接后可移除)
├── ab-cloud-common(微服务通用模块)
│ ├── ab-cloud-adapter(适配基础通用模块 ab-base-common)
│ ├── ab-cloud-auditlog(审计日志,除流程模块其他模块引入)
│ ├── ab-cloud-autoconfigure(微服务配置自动装配)
│ ├── ab-cloud-seata(Seata整合)
│ ├── ab-cloud-sentinel(Sentinel整合)
│ ├── ab-cloud-session-api(用户会话接口)
│ ├── ab-cloud-session-endpoint(会话服务暴露点)
│ ├── ab-cloud-user-context(用户组织上下文)
│ ├── ab-cloud-usergroup-endpoint(用户组织接口暴露点,对接时引入)
├── ab-cloud-gateway(网关)
├── ab-cloud-org(组织模块)
│ ├── ab-org-service(用户组织服务)
├── docs(相关文档,数据库初始化脚本等)