# coffee-cloud
**Repository Path**: skysong/coffee-cloud
## Basic Information
- **Project Name**: coffee-cloud
- **Description**: Application Framework 应用基础框架,简单高效
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-12-18
- **Last Updated**: 2026-01-17
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Application Framework
### 简介
Application Framework 应用基础框架,简单高效
#### 核心理念(康威定律在微服务中的应用)
```
微服务实践的精髓,在于将组织学中的康威定律与软件架构实践相结合。即组织模式决定架构模式。
康威定律指出,系统的架构边界反映组织的沟通结构。为了达到理想的系统架构,组织应该首先进行重组,让团队结构与你想要设计的架构保持一致。
微服务是系统架构的一种组织范式,围绕业务能力组织团队。服务设计如果跨团队协作,拖慢交付速度。而微服务要求团队是跨职能的,可以独立地交付用户价值。
```
#### 服务演进规划
```
GatewayService 网关服务
IdentityService 身份服务
FoundationService 基础服务(可进一步拆分为:)
├── FileService 文件服务
├── LogService 日志服务
└── GeneratorService 代码生成器服务
```
#### 代码结构分层( MVC )
```
MVC 是 Model-View-Controller 的缩写,按 “接收请求(C)、处理业务 / 数据(M)、展示数据(V)” 拆分
示例:Controller 接收请求,Service/Mapper 实体类处理业务和数据,JSON 响应做展示
业务Service层职责是做业务编排
业务Service层通用逻辑可以抽离出Manager层(业务Service层控制事务,Manager层无事务控制(事务嵌套失控,取决于事务传播级别),职责是逻辑复用)
业务Service层禁止互相调用
业务Service层禁止引入Mapper层的QueryWrapper(QueryWrapper抽离到Mapper层)
Mapper层可以理解成数据操作层(Dao层)或原子Service层
```
#### 接口文档导入 ApiFox
```
1. 获取接口文档地址
- 基础服务示例:`http://localhost:28082/v3/api-docs`
2. 导入到 ApiFox
- 打开 ApiFox
- 进入:我的团队 → 团队项目 → 项目设置 → 导入数据
- 选择 OpenAPI/Swagger
- 使用 URL 方式导入
```
#### 打包部署
```
mvn clean install package '-Dmaven.test.skip=true'
cd ./gateway-service
docker build -t 'gateway-service:1.0' .
docker run -itd --name gateway-service -p 28000:28000 -e JAVA_OPTS="" -e "SPRING_PROFILES_ACTIVE=dev" -v
/opt/gateway-service-logs:/app/logs --restart=always gateway-service
```
#### 基础设施
```
软件名称和版本号
jdk17
nacos3.1.1
redis7.0.15
mysql8.0
```
#### TODO
```
增加操作日志
```