基于Spring Boot、Spring Cloud Alibaba的微服务开发框架
Macula是一个微服务应用开发平台,主要包括三大部分:MaculaBoot、MaculaCloud和MaculaCloudAdmin。
- MaculaBoot是微服务应用开发所需要的开发框架(如SpringCloudAlibaba、SpringCloudTecent等),基于众多开源产品进行甄选后轻度封装而成。
- MaculaCloud是一个微服务架构的通用技术服务体系,一方面可集成对接各大云厂商的微服务治理体系(如腾讯云TSF、阿里云EDAS、百度云CNAP等), 另一方面提供大量内置可复用的通用技术服务(如系统管理、消息推送、资源存储、ID生成、任务调度等)。
- MaculaCloudAdmin是基于VUE的前端项目,与MaculaCloud配套,提供管理界面功能。使用Macula进行微服务架构的应用平台开发,一方面可以统一技术栈,降低管理与维护成本;另一方面可以避免重复造轮子,提升开发效率。
Macula的整体架构如下图所示:
macula-boot-parent POM父模块,所有项目的parent
macula-boot-commons 通用模块,提供返回结构体、助手类、异常封装、常量等
macula-boot-docs 文档
macula-boot-starter
01. macula-boot-starter-mapstruct 对象转换
02. macula-boot-starter-crypto 加解密模块
03. macula-boot-starter-cache 多级缓存
04. macula-boot-starter-redis REDIS(基于Redisson)
05. macula-boot-starter-lock4j 分布式锁
06. macula-boot-starter-idempotent 幂等
07. macula-boot-starter-leaderelection 基于Redis的Leader选择器
08. macula-boot-starter-mybatis-plus MyBatis Plus
09. macula-boot-starter-jpa Spring Data JPA集成
10. macula-boot-starter-sender 基于本地数据库发送MQ消息(先落库再异步发MQ)
11. macula-boot-starter-rocketmq RocketMQ
12. macula-boot-starter-liteflow 可编排的组件引擎
13. macula-boot-starter-statemachine 基于Spring StateMachine的状态机
14. macula-boot-starter-security 基于Token的安全校验
15. macula-boot-starter-springdoc Swagger Doc v3
16. macula-boot-starter-web WEB
17. macula-boot-starter-feign Feign定制,使用OkHTTP
18. macula-boot-starter-seata 分布式事务
19. macula-boot-starter-oss 资源中心(minio/aliyun/cos/aws s3/本地)
20. macula-boot-starter-tinyid ID生产
21. macula-boot-starter-system 接入菜单和权限等系统服务
22. macula-boot-starter-task 基于xxljob等的定时任务(类似阿里云的ScheduleX)
23. macula-boot-starter-retry 重试框架
24. macula-boot-starter-dubbo 基于Dubbo的RPC服务
25. macula-boot-starter-cloud 基于Spring Cloud的RPC服务
1. macula-boot-starter-gateway 网关定制,基于Oauth2认证,权限控制也集中在网关
2. macula-boot-starter-alibaba 基于alibaba spring cloud体系(nacos、sentinel、seata)
3. macula-boot-starter-alibaba-scg 基于slibaba的gateway定制
4. macula-boot-starter-tencent 基于tencent的polarismesh服务治理体系
5. macula-boot-starter-tecent-scg 基于tencent的gateway定制
6. macula-boot-starter-tsf 基于TSF的服务治理体系
7. macula-boot-starter-tsf-scg 基于TSF的网关定制
详见Macula Cloud项目
编译的时候需要指定deploy这个profile,否则revision不会处理
mvn clean install -DskipTests=true -Pdeploy
Macula整体的技术交互与应用原理如下图所示:
说明:Macula特别适用于多产品线(一个产品线对应一个应用平台)的研发团队。
Macula Boot and Macula Cloud is Open Source software released under the Apache 2.0 license.