Passiflora Cloud 是基于 JDK21、Spring Cloud、Gradle 构建的微服务项目,不同于其他的同类项目,Passiflora Cloud 具有以下优点:
- 合理清晰的项目结构,Passiflora Cloud 不同的应用以及通用服务,拆分为不同的模块。web 服务模块以 app 名称结尾,依赖模块以及通用模块放置在 modules 目录下。
- 高可靠的业务实现,基于版本号乐观锁+分布式锁的设计,保证所有的数据变更都不会出现并发导致的数据异常问题。
- 采用 JUnit 结合 TestContainers 工具进行单元和集成测试,通过 TestContainers 在隔离环境中自动化地部署数据库容器,并利用 Liquibase 来管理数据库迁移,从而在模拟真实应用场景的同时避免测试数据污染,确保了测试的准确性和系统的可靠性。
├── .github (github actions配置, 不使用 github actions 可删除)
├── passiflora-server (后端项目)
│ ├── modules
│ │ ├── passiflora-bom (依赖版本配置)
│ │ ├── passiflora-codegen (代码生成)
│ │ ├── passiflora-common (通用组件)
│ │ ├── passiflora-feign (Feign组件)
│ │ └── passiflora-model (Model组件)
│ ├── passiflora-gateway-app (网关应用)
│ ├── passiflora-iam-app (身份应用)
│ ├── passiflora-storage-app (文件储存应用)
│ └── buildSrc (构建脚本)
└── passiflora-ui (前端项目)