# 后端Java微服务架构

## 项目结构

```
backend-java/
├── pom.xml                  # 根项目POM文件
├── api/                     # API网关
├── gateway/                 # 网关服务
├── registry/                # 服务注册与发现
├── config-server/           # 配置中心
├── services/                # 业务服务模块
│   ├── farming-service/     # 养殖管理服务
│   ├── finance-service/     # 金融服务
│   ├── government-service/  # 政府监管服务
│   ├── trade-service/       # 交易管理服务
│   ├── mall-service/        # 商城管理服务
│   ├── data-platform-service/ # 数据中台服务
│   ├── ai-service/          # AI能力服务
│   └── user-center-service/ # 用户中心服务
├── common/                  # 公共模块
├── docs/                    # 文档
└── scripts/                 # 脚本
```

## 技术栈

- **核心框架**: Spring Boot 2.7.5 + Spring Cloud 2021.0.5
- **编程语言**: Java 11
- **构建工具**: Maven 3.8+
- **数据库**: MySQL 8.0
- **缓存**: Redis
- **消息队列**: RabbitMQ
- **API文档**: Swagger/OpenAPI 3.0
- **监控**: Spring Boot Admin + Micrometer
- **安全**: Spring Security + OAuth2 + JWT
- **配置中心**: Spring Cloud Config
- **服务发现**: Spring Cloud Eureka
- **负载均衡**: Spring Cloud LoadBalancer
- **熔断器**: Resilience4j
- **链路追踪**: Spring Cloud Sleuth + Zipkin
- **容器化**: Docker
- **编排**: Kubernetes

## 服务说明

### 1. farming-service (养殖管理服务)
负责养殖相关的业务逻辑，包括：
- 牛只信息管理
- 饲养记录管理
- 疫苗接种记录
- 健康状况监控

### 2. finance-service (金融服务)
负责金融相关的业务逻辑，包括：
- 贷款申请与审批
- 保险购买与理赔
- 支付处理
- 财务报表生成

### 3. government-service (政府监管服务)
负责政府监管相关的业务逻辑，包括：
- 政策发布与推送
- 监管数据上报
- 合规性检查
- 数据统计分析

### 4. trade-service (交易管理服务)
负责交易相关的业务逻辑，包括：
- 活牛交易撮合
- 价格信息发布
- 交易合同管理
- 物流跟踪

### 5. mall-service (商城管理服务)
负责商城相关的业务逻辑，包括：
- 商品管理
- 订单处理
- 库存管理
- 用户评价

### 6. data-platform-service (数据中台服务)
负责数据平台相关的业务逻辑，包括：
- 数据采集与清洗
- 数据仓库构建
- 数据分析与挖掘
- 报表生成

### 7. ai-service (AI能力服务)
负责AI相关的业务逻辑，包括：
- 图像识别（牛只识别、健康状况识别）
- 预测分析（市场价格预测、疫病预测）
- 智能推荐
- 自然语言处理

### 8. user-center-service (用户中心服务)
负责用户管理相关的业务逻辑，包括：
- 用户注册与登录
- 权限管理
- 个人信息管理
- 消息通知

## 开发规范

1. **代码规范**: 遵循阿里巴巴Java开发手册
2. **API设计**: 遵循RESTful API设计规范
3. **数据库设计**: 遵循数据库设计三范式
4. **日志规范**: 使用SLF4J + Logback记录日志
5. **异常处理**: 统一异常处理机制
6. **测试覆盖**: 单元测试覆盖率不低于80%
7. **文档规范**: 使用Swagger生成API文档

## 部署说明

1. **本地开发**: 使用Docker Compose启动依赖服务
2. **测试环境**: 使用Kubernetes部署
3. **生产环境**: 使用Kubernetes部署，配合Prometheus监控

## 构建与运行

```bash
# 构建所有服务
mvn clean install

# 运行单个服务
cd services/farming-service
mvn spring-boot:run
```

## 配置说明

所有服务的配置文件位于config-server模块中，通过Spring Cloud Config进行统一管理。