docs: 重构API文档和系统架构文档,统一技术栈规范docs(architecture): 更新系统架构设计文档

- 重新组织文档结构,优化标题层级
- 添加系统架构图,直观展示系统组成- 补充前端架构、后端架构、数据架构等详细内容
- 更新安全架构、部署架构、性能优化策略等章节
- 增加扩展性设计和高可用设计章节
- 总结系统架构设计特点和优势
This commit is contained in:
ylweng
2025-09-11 01:04:51 +08:00
parent 68c6c23f5a
commit f1273daeac
34 changed files with 1663 additions and 1713 deletions

View File

@@ -1,502 +1,363 @@
# 系统架构文档
# 系统架构设计文档
## 1. 概述
本项目是一个综合性的畜牧业数字化管理平台,主要面向锡林郭勒盟地区的养殖产业,包含官网展示、后台管理、移动端小程序、大屏可视化等多个子系统。平台集成了养殖管理、金融服务(银行监管、保险监管)、政府监管、牛只交易、牛肉商城、数据分析等功能模块,旨在通过数字化手段提升整个产业链的管理效率和透明度
本项目采用前后端分离的架构设计后端基于双技术栈Java Spring Boot + Node.js的微服务架构前端采用Vue.js和Nuxt.js技术栈支持Web端和微信小程序等多种客户端
## 2. 技术栈
### 2.1 前端技术栈
- **官网首页**: HTML5 + CSS3 + JavaScript
- **后台管理系统**: Vue.js 3 + TypeScript + Ant Design Vue + Pinia
- **大屏可视化系统**: Vue.js 3 + ECharts + 自定义可视化组件
- **微信小程序矩阵**: 微信小程序原生开发 + uni-app
- **管理后台**: Vue 3 + Element Plus
- **用户端**: Nuxt 3 (SSR)
- **微信小程序**: 微信小程序原生开发
- **构建工具**: Vite, Webpack
- **状态管理**: Pinia, Vuex
- **HTTP客户端**: Axios
### 2.2 后端技术栈
- **API服务**: Node.js + Express.js + TypeScript + RESTful API
- **数据库**: MySQL
- **缓存系统**: Redis
- **消息队列**: RabbitMQ用于异步处理
- **文件存储**: 腾讯云对象存储
- **实时通信**: WebSocket用于大屏数据推送和实时通知
### 2.3 数据库配置
#### 2.2.1 Java技术栈主要
- **核心框架**: Spring Boot 2.7.x, Spring Cloud 2021.x
- **服务注册与发现**: Eureka
- **配置中心**: Spring Cloud Config
- **API网关**: Spring Cloud Gateway
- **数据库**: MySQL 8.0, Spring Data JPA
- **缓存**: Redis
- **消息队列**: RabbitMQ
- **安全框架**: Spring Security + JWT
- **构建工具**: Maven 3.8.x
#### 2.3.1 测试环境
- **主机**: `192.168.0.240` (MySQL主机地址)
- **端口**: `3306` (MySQL端口)
- **用户名**: `root`
- **密码**: `aiot$Aiot123`
- **数据库**: `xlxumudata`
#### 2.2.2 Node.js技术栈辅助
- **运行环境**: Node.js 16.x
- **Web框架**: Express.js
- **数据库**: MySQL 8.0
- **ORM**: Sequelize
- **构建工具**: NPM/Yarn
#### 2.3.2 生产环境
- **主机**: `129.211.213.226`
- **端口**: `9527`(端口号)
- **用户名**: `root`
- **密码**: `aiotAiot123!`
- **数据库**: `xlxumudata`
### 2.4 安全架构
- **身份认证**: JWT (JSON Web Tokens)
- **权限管理**: 基于角色的访问控制 (RBAC)
- **数据传输**: HTTPS 加密传输
- **API防护**: 接口限流、参数校验、防SQL注入等
- **密码安全**: BCrypt加密存储
- **操作审计**: 用户操作日志记录和审计
### 2.5 数据架构
- **实时数据采集**: IoT设备数据接入
- **数据处理**: ETL数据处理流程
- **数据存储**: 分层数据存储(操作数据、历史数据、统计数据)
- **大数据分析**: 数据分析引擎
- **智能预警**: 基于规则的预警系统
- **可视化展示**: 图表化数据展示平台
### 2.3 基础设施
- **容器化**: Docker
- **容器编排**: Kubernetes
- **反向代理**: Nginx
- **监控**: Prometheus + Grafana
- **日志**: ELK Stack (Elasticsearch, Logstash, Kibana)
- **CI/CD**: Jenkins
## 3. 系统架构图
为了更直观地展示系统架构,我们提供了一个可视化的系统架构图:
```mermaid
graph TB
subgraph "客户端层"
A[Web浏览器] --> B[管理后台 admin-system]
C[Web浏览器] --> D[用户端 frontend]
E[微信客户端] --> F[微信小程序 miniprogram]
end
![系统架构图](./system_architecture.svg)
subgraph "网关层"
G[API网关 gateway]
end
图中展示了以下主要层次和组件:
subgraph "服务注册与配置中心"
H[Eureka注册中心 registry]
I[Config配置中心 config-server]
end
1. **用户接入层**:包括官网首页、专业管理系统和微信小程序矩阵
2. **API服务层**基于Node.js的各个业务模块API服务
3. **数据处理与存储层**:包括关系数据库、缓存系统、消息队列、文件存储和日志存储
4. **数据分析与展示层**:包含大数据分析引擎、智能预警系统、可视化平台和实时数据推送
5. **监控与日志层**:应用性能监控、服务器资源监控、日志收集与分析以及异常告警
6. **部署架构层**:容器化部署、负载均衡、自动化部署和容灾备份
subgraph "核心业务服务层(Java)"
J[养殖管理服务<br/>farming-service:8081]
K[用户中心服务<br/>user-center-service:8082]
L[交易服务<br/>trade-service:8083]
M[金融服务<br/>finance-service:8084]
N[数据平台服务<br/>data-platform-service:8085]
O[政务服务<br/>government-service:8086]
P[大屏服务<br/>dashboard-service:8087]
Q[商城服务<br/>mall-service:8088]
end
此外,图中还展示了各组件之间的连接关系和数据流向。
subgraph "辅助业务服务层(Node.js)"
R[AI能力服务<br/>ai-service:3001]
S[部分遗留服务<br/>legacy-service:3002]
end
## 4. 前端系统架构
subgraph "数据存储层"
T[MySQL主数据库]
U[Redis缓存]
V[RabbitMQ消息队列]
end
### 4.1 官网首页系统
- 纯HTML5、CSS3、JavaScript实现
- 响应式设计,适配多种设备
- 突出锡林郭勒盟地域元素和蒙古族文化特色
- 绿色草原主题风格
- 集成Chart.js实现数据可视化展示
- 通过官网API获取新闻资讯和统计数据
subgraph "基础设施层"
W[Docker容器]
X[Kubernetes集群]
Y[Nginx反向代理]
end
### 4.2 专业管理系统
B --> G
D --> G
F --> G
#### 4.2.1 养殖管理系统
- 基于Vue.js 3 Composition API
- 使用Ant Design Vue组件库
- 状态管理采用Pinia
- TypeScript增强代码可维护性
G --> H
G --> J
G --> K
G --> L
G --> M
G --> N
G --> O
G --> P
G --> Q
G --> R
G --> S
##### 功能模块
1. 牛只档案管理
2. 饲养记录管理
3. 繁殖管理
4. 环境监测数据展示
5. 健康监测管理
6. 生产计划制定和执行跟踪
J --> T
K --> T
L --> T
M --> T
N --> T
O --> T
P --> T
Q --> T
R --> T
S --> T
#### 4.2.2 银行监管系统
- 基于Vue.js 3 Composition API
- 使用Ant Design Vue组件库
- 状态管理采用Pinia
- TypeScript增强代码可维护性
J --> U
K --> U
L --> U
M --> U
N --> U
O --> U
P --> U
Q --> U
R --> U
S --> U
##### 功能模块
1. 贷款申请和审批流程管理
2. 质押物(牛只)状态监控
3. 还款计划跟踪
4. 风险评估数据展示
5. 财务报表生成
6. 风控管理
J --> V
K --> V
L --> V
M --> V
N --> V
O --> V
P --> V
Q --> V
R --> V
S --> V
#### 4.2.3 保险监管系统
- 基于Vue.js 3 Composition API
- 使用Ant Design Vue组件库
- 状态管理采用Pinia
- TypeScript增强代码可维护性
H --> W
I --> W
J --> W
K --> W
L --> W
M --> W
N --> W
O --> W
P --> W
Q --> W
R --> W
S --> W
T --> W
U --> W
V --> W
##### 功能模块
1. 保险投保管理
2. 理赔申请和处理流程
3. 风险评估和预警
4. 保险记录查询
5. 数据统计分析
#### 4.2.4 政府监管平台
- 基于Vue.js 3 Composition API
- 使用Ant Design Vue组件库
- 状态管理采用Pinia
- TypeScript增强代码可维护性
##### 功能模块
1. 产业数据总览
2. 各类监管数据汇总
3. 政策发布和通知
4. 合规性检查
5. 统计报表生成
6. 用户管理(集中式用户权限管理)
7. 系统配置管理
#### 4.2.5 活牛交易系统
- 基于Vue.js 3 Composition API
- 使用Ant Design Vue组件库
- 状态管理采用Pinia
- TypeScript增强代码可维护性
##### 功能模块
1. 牛只信息发布和展示
2. 在线交易撮合
3. 合同管理
4. 支付流程管理
5. 交易记录查询
6. 商户管理
7. 行情管理
#### 4.2.6 商城管理系统
- 基于Vue.js 3 Composition API
- 使用Ant Design Vue组件库
- 状态管理采用Pinia
- TypeScript增强代码可维护性
##### 功能模块
1. 商品信息管理
2. 库存管理
3. 订单处理
4. 物流跟踪
5. 售后服务管理
6. 营销管理
#### 4.2.7 大屏可视化系统
- 基于Vue.js 3 Composition API
- 使用ECharts和自定义可视化组件
- 状态管理采用Pinia
- TypeScript增强代码可维护性
- WebSocket实现实时数据推送
##### 功能模块
1. 产业概览
2. 养殖监控
3. 金融服务
4. 交易统计
5. 运输跟踪
6. 风险预警
7. 生态指标
8. 政府监管
### 4.3 微信小程序矩阵
- 使用微信小程序原生开发框架
- 跨平台支持采用uni-app
- 包含8个专门的小程序应用
#### 4.3.1 牛肉商城小程序(消费者端)
- 商品浏览和搜索
- 在线下单和支付
- 订单查询和跟踪
- 售后服务申请
- **认养功能**:用户可以认养特定牛只,跟踪其成长过程
#### 4.3.2 养殖管理小程序(牧民端)
- 移动端牛只档案查看
- 饲养记录录入
- 健康状况上报
- 通知消息接收
- 数据统计查看
#### 4.3.3 银行监管小程序(银行端)
- 移动端贷款审批
- 质押物状态查看
- 风险数据监控
- 移动办公支持
#### 4.3.4 保险监管小程序(保险端)
- 移动端保险处理
- 理赔流程管理
- 风险评估查看
- 移动查勘支持
#### 4.3.5 活牛交易小程序(交易员端)
- 活牛信息发布
- 在线交易撮合
- 合同查看和管理
- 交易记录查询
- 支付状态跟踪
#### 4.3.6 政府监管小程序(监管人员端)
- 防疫任务执行
- 补贴申请审核
- 政策信息查看
- 监管数据上报
#### 4.3.7 数据中台小程序(数据人员端)
- 数据查询和导出
- 统计报表查看
- 数据服务申请
#### 4.3.8 AI能力小程序养殖户/兽医端)
- 牛只体况评估
- 饲料配方推荐
- 智能诊断辅助
## 5. 后端系统架构
### 5.1 API服务层
- 基于Node.js和Express.js构建
- 使用TypeScript增强代码健壮性
- RESTful API设计风格
- JWT身份认证机制
- 微服务架构设计(按业务模块划分)
#### 5.1.1 养殖管理API (`/api/v1/farming`)
- 牛只档案管理
- 饲喂记录
- 防疫管理
- 繁殖管理
#### 5.1.2 金融服务API (`/api/v1/finance`)
- 贷款申请
- 保险购买
- 理赔处理
- 贷款审批
#### 5.1.3 政府监管API (`/api/v1/gov`)
- 防疫任务下发
- 补贴发放
- 检疫监管
- 任务状态跟踪
#### 5.1.4 交易管理API (`/api/v1/trades`)
- 商品发布/下架
- 订单创建/支付
- 物流跟踪
- 订单状态查询
#### 5.1.5 商城管理API (`/api/v1/mall`)
- 商品管理
- 订单处理
- 库存管理
- 用户评价
#### 5.1.6 数据中台API (`/api/v1/data`)
- 数据血缘追踪
- 接口调用分析
- 数据质量监控
#### 5.1.7 AI能力API (`/api/v1/ai`)
- 牛只体况评估
- 饲料配方推荐
- 智能诊断辅助
#### 5.1.8 用户中心API (`/api/v1/users`)
- 用户注册/登录/注销
- 个人信息管理
- 权限控制
#### 5.1.9 官网API (`/api/v1/website`)
- 新闻资讯管理
- 平台数据展示
- 用户留言处理
- 平台信息配置
#### 5.1.10 大屏可视化API (`/api/v1/dashboard`)
- 实时数据展示(支持 WebSocket
- 历史数据查询(支持分页和排序)
- 数据可视化配置(增删改查)
- 告警信息推送(订阅/取消订阅)
- 数据导出CSV/JSON 格式)
### 5.2 数据存储层
- 主数据库MySQL关系型数据库
- 缓存系统Redis用于会话缓存、数据缓存
- 消息队列RabbitMQ用于异步任务处理
- 文件存储:腾讯云对象存储服务
- 日志存储Elasticsearch用于日志分析
### 5.3 安全架构
- 基于JWT的无状态认证
- RBAC角色权限管理系统集中式用户管理
- HTTPS加密传输
- API接口安全防护限流、防注入等
- 数据加密存储BCrypt等
- 操作日志审计
### 5.4 数据分析层
- 实时数据采集系统IoT设备数据、用户行为数据
- 大数据分析引擎
- 智能预警系统
- 数据可视化展示平台
## 6. 项目结构
```
.
├── admin-system/ # 管理系统
│ ├── dashboard/ # 数据大屏
│ ├── official-website/ # 官网
│ ├── farming-management/ # 养殖管理系统
│ ├── bank-supervision/ # 银行监管系统
│ ├── insurance-supervision/ # 保险监管系统
│ ├── government-platform/ # 政府监管平台
│ ├── cattle-trading/ # 活牛交易系统
│ └── mall-management/ # 商城管理系统
├── mini_program/ # 小程序集合
│ ├── farming-manager/ # 养殖管理小程序
│ ├── beef-mall/ # 牛肉商城小程序
│ ├── bank-supervision/ # 银行监管小程序
│ ├── insurance-supervision/ # 保险监管小程序
│ ├── cattle-trading/ # 活牛交易小程序
│ └── government-supervision/ # 政府监管小程序
├── website/ # 官方网站
├── backend-java/ # 后端项目 (Java微服务架构)
│ ├── api/ # API网关模块
│ ├── gateway/ # Spring Cloud Gateway网关服务
│ ├── registry/ # Eureka服务注册中心
│ ├── config-server/ # Spring Cloud配置中心
│ ├── services/ # 微服务模块
│ │ ├── farming-service/ # 养殖管理服务
│ │ ├── finance-service/ # 金融服务
│ │ ├── government-service/ # 政府监管服务
│ │ ├── trade-service/ # 交易管理服务
│ │ ├── mall-service/ # 商城管理服务
│ │ ├── data-platform-service/ # 数据中台服务
│ │ ├── ai-service/ # AI能力服务
│ │ └── user-center-service/ # 用户中心服务
│ ├── common/ # 公共模块
│ ├── docs/ # 后端文档
│ ├── scripts/ # 后端脚本
│ └── pom.xml # Maven父项目配置文件
├── docs/ # 文档
└── deployment/ # 部署相关配置
W --> X
X --> Y
```
## 7. 用户权限管理架构
## 4. 前端架构
### 7.1 集中式用户管理
- 所有用户信息统一在政府监管平台进行管理
- 各子系统仅负责登录验证和部分权限校验
- 实现统一的RBAC权限模型
- 通过用户中心API进行统一认证和授权
### 4.1 管理后台 (admin-system)
- 基于Vue 3和Element Plus构建
- 采用组件化开发模式
- 使用Vue Router管理路由
- 使用Pinia进行状态管理
- 通过Axios与后端API通信
### 7.2 权限体系
- 基于角色的访问控制RBAC
- 支持多角色分配
- 细粒度权限控制(菜单权限、操作权限、数据权限)
- 权限继承机制
### 4.2 用户端 (frontend)
- 基于Nuxt 3构建支持SSR
- 采用模块化架构设计
- 使用Vue Router管理路由
- 使用Vuex进行状态管理
- 通过Axios与后端API通信
### 7.3 用户角色
1. 超级管理员
2. 政府监管员
3. 银行信贷员
4. 保险专员
5. 交易管理员
6. 商城管理员
7. 养殖户
8. 普通用户
9. 数据分析师
10. 系统审计员
### 4.3 微信小程序 (miniprogram)
- 基于微信小程序原生开发
- 采用页面+组件的结构
- 使用微信提供的API和组件
- 通过wx.request与后端API通信
## 8. 大屏可视化系统架构
## 5. 后端架构
### 8.1 系统概述
大屏可视化系统是本项目的重要组成部分,主要用于展示锡林郭勒盟智慧养殖产业的整体数据、实时监控信息和分析结果。通过直观的图表和数据可视化方式,为管理者提供全面的产业洞察。
### 5.1 微服务架构
系统采用微服务架构设计,将业务功能拆分为独立的服务:
### 8.2 技术实现
- **前端框架**: Vue.js 3 + ECharts + 自定义可视化组件
- **可视化库**: Apache ECharts + D3.js
- **响应式设计**: 支持多种大屏比例(16:9, 4:3等)
- **实时数据**: WebSocket实时数据推送
- **性能优化**: 虚拟滚动、数据分页等技术
#### 5.1.1 Java微服务主要
1. **养殖管理服务 (farming-service:8081)**
- 功能:养殖场管理、牲畜档案、饲养记录等
- 技术Spring Boot, Spring Data JPA
### 8.3 功能模块
1. **产业概览**: 展示整体产业规模、产值、增长率等关键指标
2. **养殖监控**: 实时展示各牧场的养殖情况、环境数据
3. **金融服务**: 展示贷款、保险等金融服务数据
4. **交易统计**: 牛只交易量、价格趋势、区域分布等数据
5. **运输跟踪**: 牛只运输实时状态和路径展示
6. **风险预警**: 风险事件展示和预警信息推送
7. **生态指标**: 环保数据、可持续发展指标展示
8. **政府监管**: 展示政府监管相关数据和政策执行效果
2. **用户中心服务 (user-center-service:8082)**
- 功能:用户管理、权限控制、认证授权等
- 技术Spring Boot, Spring Security, JWT
### 8.4 设计特色
- 融入锡林郭勒盟草原绿色主题
- 采用蒙古族文化元素的UI设计
- 支持多维度数据钻取和交互
- 通过大屏可视化API获取实时和历史数据
3. **交易服务 (trade-service:8083)**
- 功能:活牛交易、订单管理、支付处理等
- 技术Spring Boot, Spring Data JPA
## 9. 系统集成架构
4. **金融服务 (finance-service:8084)**
- 功能:贷款申请、保险购买、金融产品等
- 技术Spring Boot, Spring Data JPA
### 9.1 外部系统集成
1. 银行系统对接
2. 政府监管平台对接
3. 第三方系统集成LDAP/AD、OAuth2.0等)
4. 物联网设备集成MQTT/CoAP协议
5. 云服务集成腾讯云COS、短信服务等
5. **数据平台服务 (data-platform-service:8085)**
- 功能:数据统计、报表生成、数据分析等
- 技术Spring Boot, Spring Data JPA
### 9.2 数据交换机制
- RESTful API接口
- 消息队列异步处理
- 文件传输
- 数据库同步
6. **政务服务 (government-service:8086)**
- 功能:政策发布、监管上报、审批流程等
- 技术Spring Boot, Spring Data JPA
## 10. 性能优化策略
7. **大屏服务 (dashboard-service:8087)**
- 功能:数据可视化、实时监控、大屏展示等
- 技术Spring Boot, Spring Data JPA
### 10.1 前端优化
- 代码分割和按需加载
- 图片懒加载和压缩
- CDN加速静态资源
- 浏览器缓存策略
- 虚拟滚动处理大数据量展示
- CDN加速静态资源
- 浏览器缓存策略
- 虚拟滚动处理大数据量展示
8. **商城服务 (mall-service:8088)**
- 功能:商品管理、购物车、订单处理等
- 技术Spring Boot, Spring Data JPA
### 10.2 后端优化
- 数据库索引优化
- API响应缓存Redis
- 数据库连接池
- 负载均衡部署
- 异步任务处理RabbitMQ
#### 5.1.2 Node.js服务辅助
1. **AI能力服务 (ai-service:3001)**
- 功能图像识别、智能分析等AI相关功能
- 技术Node.js, Express.js
## 11. 系统监控与日志
2. **遗留服务 (legacy-service:3002)**
- 功能:部分原有系统功能的兼容
- 技术Node.js, Express.js
### 11.1 监控系统
- 应用性能监控APM
- 服务器资源监控CPU、内存、磁盘等
- 数据库性能监控
- 网络监控
- 业务指标监控
### 5.2 核心组件
### 11.2 日志系统
- 统一日志格式
- 日志分级管理DEBUG、INFO、WARN、ERROR
- 日志收集与分析ELK Stack
- 日志存储策略
- 异常日志告警
#### 5.2.1 API网关 (gateway)
- 技术Spring Cloud Gateway
- 功能:
- 请求路由转发
- 负载均衡
- 认证鉴权
- 限流熔断
- 日志记录
## 12. 部署架构
#### 5.2.2 服务注册中心 (registry)
- 技术Eureka Server
- 功能:
- 服务注册与发现
- 服务健康检查
- 服务状态监控
### 12.1 开发环境
- 本地开发服务器
- 热重载功能
- 代理配置解决跨域问题
#### 5.2.3 配置中心 (config-server)
- 技术Spring Cloud Config
- 功能
- 集中化配置管理
- 配置动态刷新
- 环境隔离配置
### 12.2 生产环境
- Nginx反向代理服务器
- 负载均衡配置
- SSL证书配置
- 日志收集和监控系统
- 容器化部署Docker
- 自动化部署CI/CD
## 6. 数据架构
## 13. 容灾与备份策略
### 6.1 数据库设计
- **主数据库**: MySQL 8.0
- **读写分离**: 主从复制
- **分库分表**: 根据业务模块分库
- **索引优化**: 合理设计索引提升查询性能
### 13.1 数据备份
- 定时全量备份
- 增量备份机制
- 备份数据异地存储
- 备份恢复演练
### 6.2 缓存设计
- **缓存技术**: Redis
- **缓存策略**:
- 热点数据缓存
- 会话缓存
- 分布式锁
- **缓存更新**: 通过消息队列实现缓存同步
### 13.2 系统容灾
- 多节点部署
- 故障自动切换
- 数据同步机制
- 灾难恢复预案
### 6.3 消息队列
- **消息中间件**: RabbitMQ
- **应用场景**:
- 异步处理
- 服务解耦
- 流量削峰
- 日志收集
## 7. 安全架构
### 7.1 认证授权
- **认证方式**: JWT Token
- **授权机制**: RBAC权限模型
- **安全传输**: HTTPS加密
- **密码安全**: BCrypt加密存储
### 7.2 数据安全
- **数据传输**: SSL/TLS加密
- **数据存储**: 敏感信息加密
- **访问控制**: 基于角色的访问控制
- **审计日志**: 关键操作日志记录
## 8. 部署架构
### 8.1 容器化部署
- **容器技术**: Docker
- **镜像管理**: Harbor私有镜像仓库
- **容器编排**: Kubernetes
- **服务发现**: Kubernetes Service
### 8.2 负载均衡
- **反向代理**: Nginx
- **负载策略**: 轮询、权重、IP哈希
- **健康检查**: 定期检查服务状态
- **SSL终止**: Nginx处理SSL加密解密
### 8.3 监控告警
- **指标监控**: Prometheus
- **可视化**: Grafana
- **日志收集**: ELK Stack
- **告警机制**: 邮件、短信、微信通知
## 9. 性能优化策略
### 9.1 前端优化
- **资源压缩**: JS/CSS压缩合并
- **图片优化**: WebP格式、懒加载
- **缓存策略**: HTTP缓存、浏览器缓存
- **代码分割**: 路由懒加载、组件懒加载
### 9.2 后端优化
- **数据库优化**: 索引优化、查询优化
- **缓存优化**: 多级缓存、缓存预热
- **接口优化**: 接口合并、数据批量处理
- **异步处理**: 消息队列异步处理耗时操作
### 9.3 网络优化
- **CDN加速**: 静态资源CDN分发
- **压缩传输**: Gzip压缩
- **连接复用**: HTTP/2协议
- **边缘计算**: 靠近用户的边缘节点处理
## 10. 扩展性设计
### 10.1 水平扩展
- **服务拆分**: 微服务架构支持独立扩展
- **数据库扩展**: 读写分离、分库分表
- **缓存扩展**: Redis集群
- **消息队列扩展**: RabbitMQ集群
### 10.2 弹性伸缩
- **自动扩缩容**: Kubernetes HPA
- **资源监控**: 实时监控资源使用情况
- **负载均衡**: 动态调整流量分配
- **故障自愈**: 自动重启失败服务
## 11. 高可用设计
### 11.1 服务高可用
- **多实例部署**: 关键服务多实例运行
- **故障转移**: 服务故障自动切换
- **健康检查**: 定期检查服务状态
- **超时重试**: 网络异常自动重试
### 11.2 数据高可用
- **数据备份**: 定期备份重要数据
- **主从复制**: 数据库主从同步
- **灾难恢复**: 制定数据恢复预案
- **一致性保证**: 分布式事务处理
## 12. 总结
本系统采用现代化的微服务架构设计通过合理的技术选型和架构规划能够满足畜牧管理系统的业务需求具备良好的可扩展性、可维护性和高可用性。Java技术栈作为主要后端技术Node.js作为辅助技术能够充分发挥各自优势构建一个稳定、高效的畜牧管理系统。

View File

@@ -13,7 +13,8 @@
- **微信小程序矩阵**: 微信小程序原生开发 + uni-app
### 2.2 后端技术栈
- **API服务**: Node.js + Express.js + RESTful API
- **主要后端技术栈**: Java 8+ + Spring Boot + Spring Cloud
- **辅助后端技术栈**: Node.js + Express.js + RESTful API
- **数据库**: MySQL
- **缓存**: Redis用于会话管理和高频数据缓存
- **消息队列**: RabbitMQ用于异步任务处理
@@ -21,52 +22,88 @@
- **安全**: JWT认证 + 数据加密
- **文件存储**: 腾讯云存储
### 2.3 开发优先级
### 2.3 微服务架构规划
#### 核心业务服务Java
| 服务名称 | 端口 | 功能描述 |
|---------|------|----------|
| farming-service | 8081 | 养殖管理服务 |
| user-center-service | 8082 | 用户中心服务 |
| finance-service | 8083 | 金融服务服务 |
| government-service | 8084 | 政府监管服务 |
| trade-service | 8085 | 交易服务 |
| mall-service | 8086 | 商城服务 |
| data-platform-service | 8087 | 数据平台服务 |
| ai-service | 8088 | AI能力服务 |
#### 基础设施服务Java
| 服务名称 | 端口 | 功能描述 |
|---------|------|----------|
| gateway | 8000 | 网关服务 |
| registry | 8761 | 服务注册中心 |
| config-server | 8888 | 配置服务器 |
#### 辅助服务Node.js
| 服务名称 | 端口 | 功能描述 |
|---------|------|----------|
| dashboard-service | 3001 | 大屏可视化服务 |
| website-service | 3002 | 官网服务 |
### 2.4 开发优先级
1. **第一阶段2025-09-01至2025-10-31**: 核心功能(养殖管理、银行监管)
2. **第二阶段2025-11-01至2025-12-31**: 扩展功能(保险监管、政府监管)
3. **第三阶段2026-01-01至2026-02-28**: 交易和商城功能
### 2.4 技术风险与应对
- **风险1**: 高并发场景下的数据库性能瓶颈
### 2.5 技术风险与应对
- **风险1**: 微服务间通信复杂性
- **应对**: 使用Spring Cloud Gateway统一管理服务间通信实施服务熔断和降级机制
- **风险2**: 数据一致性问题
- **应对**: 引入分布式事务解决方案如Seata
- **风险3**: 高并发场景下的数据库性能瓶颈
- **应对**: 引入读写分离和分库分表策略
- **风险2**: 第三方服务(如微信支付)的集成稳定性
- **风险4**: 第三方服务(如微信支付)的集成稳定性
- **应对**: 设计降级方案和本地Mock服务
### 2.5 开发工具
### 2.6 开发工具
- VS Code (推荐IDE)
- IntelliJ IDEA (Java开发推荐IDE)
- Git (版本控制)
- ESLint + Prettier (代码规范)
- Jest/Vitest (单元测试)
- ESLint + Prettier (前端代码规范)
- Checkstyle (Java代码规范)
- JUnit/TestNG (Java单元测试)
- Jest/Vitest (前端单元测试)
## 3. 开发阶段规划
### 阶段一:项目初始化与基础架构搭建 (2周)
### 阶段一:项目初始化与基础架构搭建 (3周)
#### 3.1 环境配置 (2天)
- 搭建开发环境
#### 3.1 环境配置 (3天)
- 搭建Java开发环境JDK、Maven
- 搭建Node.js开发环境
- 配置代码编辑器
- 初始化Git仓库
- 配置ESLint和Prettier
- 配置代码规范工具
#### 3.2 项目脚手架搭建 (3天)
- 官网首页静态页面搭建
- 6个专业管理系统Vue项目初始化养殖管理、银行监管、保险监管、政府监管、活牛交易、商城管理
- 大屏可视化系统初始化
- 微信小程序项目初始化5个小程序
- 后端API服务搭建
#### 3.2 微服务架构搭建 (5天)
- 创建微服务基础项目结构
- 配置服务注册中心
- 配置配置服务器
- 配置网关服务
- 实现服务间通信机制
#### 3.3 基础设施集成 (3天)
#### 3.3 基础设施集成 (4天)
- 数据库设计和初始化
- Redis缓存配置
- 腾讯云存储服务集成
- JWT身份认证实现
- 基础权限管理框架
#### 3.4 开发规范制定 (2天)
- 制定代码规范
- 制定前后端代码规范
- 确定目录结构
- 编写开发文档
### 阶段二:核心功能开发 (8周)
### 阶段二:核心功能开发 (10周)
#### 3.5 用户认证和权限系统 (1周)
- 用户注册/登录功能
@@ -110,77 +147,82 @@
- 合同管理
- 支付流程管理
### 阶段三:商城和小程序开发 (4周)
#### 3.12 商城管理系统 (1周)
- 商品信息管理
- 库存管理
- 订单处理
- 物流跟踪
#### 3.13 牛肉商城小程序(含认养功能) (1周)
#### 3.13 数据平台服务 (1周)
- 数据采集接口
- 数据处理和分析
- 报表生成
### 阶段三:小程序开发 (4周)
#### 3.14 牛肉商城小程序(含认养功能) (1周)
- 商品浏览和搜索
- 在线下单和支付
- 订单查询和跟踪
- 认养功能实现
- 售后服务申请
#### 3.14 养殖管理小程序 (1周)
#### 3.15 养殖管理小程序 (1周)
- 移动端牛只档案查看
- 饲养记录录入
- 健康状况上报
- 通知消息接收
#### 3.15 银行和保险监管小程序 (1周)
#### 3.16 银行和保险监管小程序 (1周)
- 银行监管小程序功能开发
- 保险监管小程序功能开发
#### 3.16 活牛交易小程序 (1周)
#### 3.17 活牛交易小程序 (1周)
- 活牛信息发布
- 在线交易撮合
- 合同查看和管理
### 阶段四:数据系统和特色功能 (3周)
#### 3.17 数据分析系统 (1周)
- 实时数据采集IoT设备数据接入、用户行为数据采集
- 大数据分析引擎(数据清洗和预处理、统计分析模型)
- 智能预警系统(异常数据检测、风险预警机制)
### 阶段四:特色功能和大屏可视化 (3周)
#### 3.18 大屏可视化系统 (1周)
- 数据图表展示
- 仪表盘设计
- 报表生成和导出
#### 3.19 特色功能实现 (1周)
#### 3.19 AI能力服务 (1周)
- 图像识别(牛只识别、健康状况识别)
- 预测分析(市场价格预测、产犊预测)
- 智能推荐
#### 3.20 特色功能实现 (1周)
- 锡林郭勒盟地域元素融入
- 蒙古族文化特色设计
- 安格斯牛品牌突出展示
### 阶段五:系统集成与测试 (2周)
### 阶段五:系统集成与测试 (3周)
#### 3.20 系统集成 (3天)
#### 3.21 系统集成 (4天)
- 内蒙古畜牧云对接(数据同步、接口规范)
- 金融机构API对接银行接口、保险接口
- 第三方服务集成
#### 3.21 测试用例编写 (3天)
#### 3.22 测试用例编写 (4天)
- 单元测试编写核心功能模块单元测试覆盖率不低于80%
- 集成测试实现
- E2E测试配置
#### 3.22 Bug修复与优化 (3天)
#### 3.23 Bug修复与优化 (4天)
- 功能测试与Bug修复
- 性能调优(关键操作响应时间<2秒
- 用户体验优化
#### 3.23 部署准备 (3天)
#### 3.24 部署准备 (3天)
- 生产环境配置
- 构建脚本优化
- 部署文档编写
- Docker配置
#### 3.24 项目验收与交付 (1天)
#### 3.25 项目验收与交付 (1天)
- 用户验收测试
- 项目文档完善
- 代码交接
@@ -198,13 +240,14 @@
### 4.2 后端开发团队
- 后端架构师(1名)负责后端架构设计和技术选型
- API开发工程师(3)负责后端API服务开发
- Java微服务开发工程师(5)负责Java微服务开发
- Node.js开发工程师(2名)负责Node.js服务开发
- 数据库工程师(1名)负责数据库设计和优化
- 运维工程师(1名)负责部署和运维工作
### 4.3 数据分析团队
- 数据分析师(1名)负责数据分析和可视化
- 算法工程师(1名)负责智能预警系统开发
- 算法工程师(1名)负责AI能力服务开发
### 4.4 测试团队
- 测试工程师(2名)负责测试用例编写和执行
@@ -212,9 +255,10 @@
## 5. 质量保障
### 5.1 代码质量控制
- 使用ESLint和Prettier统一代码风格
- 使用ESLint和Prettier统一前端代码风格
- 使用Checkstyle统一Java代码风格
- 通过Code Review确保代码质量
- 使用TypeScript增强代码可维护性
- 使用TypeScript增强前端代码可维护性
### 5.2 测试策略
- 单元测试核心功能模块单元测试覆盖率不低于80%
@@ -235,6 +279,7 @@
- 支持Docker容器化部署
- 支持云平台部署腾讯云
- 支持负载均衡部署
- 微服务独立部署和扩缩容
### 6.2 监控体系
- 系统运行状态监控

View File

@@ -12,12 +12,18 @@
### 1.2 基础路径
`/api/v1/farming`
### 1.3 权限控制
### 1.3 技术栈
- **后端**: Java Spring Boot + Spring Cloud (farming-service, 端口: 8081)
- **数据库**: MySQL
- **缓存**: Redis
- **API文档**: Swagger
### 1.4 权限控制
- 公开接口(无需认证):数据查询
- 管理接口(需要认证):数据录入和管理
- 系统接口(高级权限):批量操作和配置
### 1.4 全局错误码
### 1.5 全局错误码
| 状态码 | 说明 |
|--------|--------------------|
| 400 | 请求参数无效 |
@@ -50,7 +56,8 @@ POST /cattles
"id": "CATTLE001",
"ear_tag": "NM000001",
"created_at": "2024-01-20T10:00:00Z"
}
},
"timestamp": "2024-01-20T10:00:00Z"
}
```
@@ -77,7 +84,8 @@ POST /cattles/batch
"error": "耳标号格式错误"
}
]
}
},
"timestamp": "2024-01-20T10:00:00Z"
}
```
@@ -104,7 +112,8 @@ POST /vaccinations
"cattle_id": "CATTLE001",
"vaccine_type": "口蹄疫",
"created_at": "2024-01-20T10:30:00Z"
}
},
"timestamp": "2024-01-20T10:30:00Z"
}
```
@@ -121,7 +130,8 @@ POST /vaccinations
- 新增: 按照API文档规范标准统一格式
- 优化: 统一响应格式和错误处理
- 功能: 完善养殖管理接口定义
## 3. 版本历史
- 新增: Java后端技术栈说明
- 新增: timestamp字段
### v1.0.0 (2024-01-20)
- 新增: 按照API文档规范标准统一格式

View File

@@ -1,4 +1,4 @@
# 养殖助手小程序 API 文档
# 养殖助手小程序 API 文档 (v1.1.0)
## 1. 接口概述
@@ -10,6 +10,12 @@
### 1.2 基础路径
`/api/mini/farming`
### 1.3 后端技术栈
- **主要后端**: Java Spring Boot + Spring Cloud (farming-service, 端口: 8081)
- **辅助后端**: Node.js + Express.js
- **数据库**: MySQL
- **缓存**: Redis
## 2. 接口明细
### 2.1 添加饲喂记录
@@ -30,4 +36,13 @@ POST /vaccinations
## 3. 数据规范
- 时间字段格式: YYYY-MM-DD HH:mm:ss
- 数量单位统一使用kg
- 数量单位统一使用kg
## 4. 版本历史
### v1.1.0 (2024-01-20)
- 新增: Java后端技术栈说明
- 优化: 接口规范说明
### v1.0.0 (2024-01-20)
- 新增: 基础接口定义

View File

@@ -1,4 +1,4 @@
# 用户中心系统 API 文档 (v1.0.0)
# 用户中心系统 API 文档 (v1.1.0)
## 1. 接口概述
@@ -8,14 +8,20 @@
- 权限控制
### 1.2 基础路径
`/api/v1/[系统名称]`
`/api/v1/users`
### 1.3 权限控制
### 1.3 技术栈
- **后端**: Java Spring Boot + Spring Cloud (user-center-service, 端口: 8082)
- **数据库**: MySQL
- **缓存**: Redis
- **API文档**: Swagger
### 1.4 权限控制
- 公开接口(无需认证):数据查询
- 管理接口(需要认证):数据管理
- 系统接口(高级权限):配置管理
### 1.4 全局错误码
### 1.5 全局错误码
| 状态码 | 说明 |
|--------|--------------------|
| 400 | 请求参数无效 |
@@ -23,7 +29,6 @@
| 403 | 权限不足 |
| 404 | 资源不存在 |
| 500 | 服务器内部错误 |
`/api/v1/users`
## 2. 接口明细
@@ -48,7 +53,8 @@ POST /register
"username": "testuser",
"phone": "13800138000",
"created_at": "2024-01-20T10:00:00Z"
}
},
"timestamp": "2024-01-20T10:00:00Z"
}
```
@@ -75,7 +81,8 @@ POST /login
"roles": ["user"]
},
"expires_in": 86400
}
},
"timestamp": "2024-01-20T10:00:00Z"
}
```
@@ -85,7 +92,15 @@ POST /login
| 200 | 成功 |
| 400 | 参数校验失败 |
| 401 | 认证失败 |
## 3. 版本历史
## 4. 版本历史
### v1.1.0 (2024-01-20)
- 新增: 按照API文档规范标准统一格式
- 优化: 统一响应格式和错误处理
- 功能: 完善用户中心接口定义
- 新增: Java后端技术栈说明
- 新增: timestamp字段
### v1.0.0 (2024-01-20)
- 新增: 按照API文档规范标准统一格式