docs: 更新README文档并调整Consul开发配置

更新项目README文档,完善项目描述、服务模块说明和技术架构细节,使文档更清晰全面
调整开发环境下的Consul配置,将默认ACL策略改为allow以便于开发调试
This commit is contained in:
fanfpy 2025-07-16 14:17:34 +08:00
parent edeb71d74c
commit ba45989d64
2 changed files with 50 additions and 24 deletions

View File

@ -1,18 +1,21 @@
# AriStockAI
# 基于微服务架构的股票智能分析系统
面向个人投资者的智能选股分析系统,采用微服务架构构建。
## 项目概述
## 服务一览
本项目是面向个人投资者的股票智能分析系统支持A股与美股市场聚焦"智能分析+个性化推荐"功能。系统融合技术因子与金融文本情绪分析,为投资者提供辅助选股建议,解决中小投资者面对大量市场数据与资讯时难以快速识别优质个股的问题。
各服务端口信息如下:
- data-service提供 A 股 / 美股行情数据Python端口8000
- quant-service量化因子计算服务Python端口8001
- emotion-service情绪分析服务Python端口8002
- recommend-service融合推荐服务C#端口8003
- user-service用户管理服务C#端口8004
- frontend前端交互界面Vue.js端口80
- gitea-webhook监听 Gitea Webhook 进行持续部署,未在 docker-compose.yml 中明确端口
- traefik作为统一网关实现服务发现和路由主入口端口80Dashboard 端口8080
## 服务模块
| 服务模块 | 功能描述 | 技术栈 | 端口 |
|---------|---------|-------|------|
| 📊 数据服务 | 调用AkShare提供A股/美股行情、新闻数据封装为REST API | Python | 8000 |
| 📉 量化分析服务 | 计算MACD、RSI、KDJ等技术指标因子输出个股量化评分 | Python | 8001 |
| 🧠 情绪分析服务 | 使用GPT或FinBERT模型对金融新闻文本进行情绪识别与打分 | Python + LLM API | 8002 |
| 🧮 推荐服务 | 综合因子得分与用户偏好,输出个性化股票推荐及解释 | C# | 8003 |
| 👤 用户管理服务 | 用户账户管理、偏好设置、JWT权限控制 | C# | 8004 |
| 💻 前端交互服务 | Vue.js构建交互界面ECharts可视化图表展示 | Vue.js + ECharts | 80 |
| 🔄 gitea-webhook | 监听Gitea Webhook实现持续部署 | Python | - |
| 🌐 traefik | API网关提供路由、HTTPS、限流 | - | 80/8080 |
## 使用方式
```bash
@ -22,31 +25,54 @@ docker compose up --build
## 📦 技术架构
![架构图](docs/architecture.svg)
**核心组件**
- 服务发现Consul
- API网关Traefik with Let's Encrypt
- 数据存储PostgreSQL + Redis
### 核心优势
- **微服务拆分**:按功能解耦,独立部署,便于开发调试
- **容器化部署**Docker镜像打包Docker Compose管理跨平台支持
- **服务治理**Consul服务注册与健康检查Traefik自动路由与负载均衡
- **跨语言协同**Python处理数据与分析C#实现业务逻辑Vue.js构建前端
- **轻量化设计**REST同步接口避免消息队列部署负担
**通信协议**
- RESTful API80% 服务)
### 核心组件
- **服务发现**Consul
- **API网关**Traefik支持HTTPS、限流
- **数据存储**PostgreSQL + Redis
## 🔧 环境变量
```env
CONSUL_HTTP_ADDR=consul:8500
ALPHAVANTAGE_API_KEY=your_key
AKSHARE_PROXY=your_proxy # 如需要
OPENAI_API_KEY=your_key # 情绪分析服务使用
```
## 📚 API 文档
访问统一入口:`http://localhost/docs`
各服务API文档访问
- 数据服务:`http://localhost/api/data/docs`
- 量化服务:`http://localhost/api/quant/docs`
- 情绪服务:`http://localhost/api/emotion/docs`
- 推荐服务:`http://localhost/api/recommend/docs`
- 用户服务:`http://localhost/api/user/docs`
## 🛠 开发指南
### 本地开发
```bash
# Python 服务
# Python服务以数据服务为例
cd services/data-service
pip install -r requirements.txt
uvicorn app:app --reload
python app.py
# C# 服务
# C#服务(以推荐服务为例)
cd services/recommend-service
dotnet run
# 前端服务
cd services/frontend
npm install
npm run serve
```
### 容器部署
```bash
docker-compose up --build -d
```

View File

@ -1,7 +1,7 @@
{
"data_dir": "/consul/data",
"acl": {
"default_policy": "deny",
"default_policy": "allow",
"enabled": false
},
"ui_config": {