5.3 KiB
5.3 KiB
项目说明文档
目录简介
文件夹包含 Coinbus 项目的后端微服务系统,是一个基于 Spring Cloud Alibaba 的分布式微服务架构,主要用于数字货币交易、行情分析和策略管理。
项目架构
技术栈
- 框架: Spring Boot 2.6.7, Spring Cloud 2021.0.1, Spring Cloud Alibaba 2021.0.1.0
- 服务注册与配置: Nacos 2.0.4
- 网关: Spring Cloud Gateway
- 数据库: MySQL (使用 MyBatis-Plus 3.0.6)
- 缓存: Redis
- 安全认证: JWT + Spring Security
- API文档: Swagger 3.0.0
- 监控: Spring Boot Admin 2.6.6, Sentinel
主要模块及职责
1. 基础设施层 (jxy-common)
- common-core: 核心工具类、基础配置、通用常量
- common-datasource: 多数据源配置和管理
- common-datascope: 数据权限范围控制
- common-log: 日志记录和统一日志处理
- common-redis: Redis 缓存服务封装
- common-security: 安全认证、权限控制、JWT 令牌管理
- common-swagger: Swagger API 文档配置
2. 网关服务 (jxy-gateway)
- 端口: 7101
- 职责: 统一入口、路由转发、负载均衡、限流熔断
- 关联: 连接所有业务模块,使用 Sentinel 进行流量控制
3. 认证授权服务 (jxy-auth)
- 端口: 9200
- 职责: 用户认证、JWT 令牌颁发、权限验证
- 邮箱服务: support@coinbus.cc (mail.privateemail.com:587)
- 关联: 为所有业务模块提供认证服务
4. 业务模块层 (jxy-modules)
jxy-system (系统管理)
- 端口: 9201
- 职责: 用户管理、角色权限、菜单管理、系统配置
- 数据库: 包含用户、角色、权限等系统基础表
jxy-marketall (行情服务)
- 端口: 9203
- 职责: 数字货币行情数据收集、处理、分发
- 邮箱服务: 集成邮件通知功能
- 关联: 为策略模块和订单模块提供行情数据
jxy-binance (币安服务)
- 端口: 9205
- 职责: 币安交易所接口对接、交易数据获取
- 关联: 与行情服务、订单服务配合
jxy-order (订单服务)
- 端口: 8102
- 职责: 交易订单管理、订单状态跟踪、历史订单查询
- 数据库: 订单表、交易记录表
- 关联: 依赖行情服务获取实时价格,依赖策略服务生成订单
jxy-strategy (策略服务)
- 端口: 9204
- 职责: 交易策略管理、策略执行、信号分析
- 关联: 接收行情数据,向订单服务发送交易指令
jxy-file (文件服务)
- 端口: 9300
- 职责: 文件上传、下载、管理
- 关联: 为其他模块提供文件存储服务
windminer (风控挖矿模块)
- 端口: 9808
- 职责: 风控管理、挖矿策略、风险分析
- 关联: 与策略服务、订单服务协同工作
5. API 接口层 (jxy-api)
- api-system: 系统服务接口定义,供其他模块调用
6. 邮件服务 (jxy-mail)
- 职责: 邮件发送、验证码发送、通知服务
- 配置: mail.privateemail.com, support@coinbus.cc
数据库关联
主要数据库表
- 系统库: 用户表、角色表、权限表、菜单表
- 交易库: 订单表、交易记录表、账户表
- 行情库: K线数据、实时行情、市场深度
- 策略库: 策略配置、策略执行记录、信号记录
数据库配置
- 通过 Nacos 配置中心统一管理
- 支持多数据源切换
- 使用 Druid 连接池
外部服务关联
Nacos 服务注册与配置中心
- 地址: 127.0.0.1:8848
- 用途: 服务注册发现、配置管理
Sentinel 流量控制
- 控制台地址: 127.0.0.1:8718
- 用途: 流量控制、熔断降级
邮件服务
- SMTP服务器: mail.privateemail.com
- 端口: 587
- 发件邮箱: support@coinbus.cc
功能简介
- 用户认证与授权: 基于 JWT 的安全认证体系,支持角色权限管理
- 行情数据服务: 实时获取和分发数字货币行情数据
- 交易策略管理: 支持多种交易策略的配置和执行
- 订单管理: 完整的订单生命周期管理
- 风控系统: 实时风险监控和控制
- 文件管理: 统一的文件上传下载服务
- 系统监控: 基于 Spring Boot Admin 的系统监控
- API文档: Swagger 自动生成 API 文档
相关联其他文件
- coinbus/README.md: 项目根目录说明
- coinbus/yyb/backend/doc/: 项目文档目录
- 微服务技术架构.xlsx: 架构设计文档
- readme.md: 后端详细说明
- coinbus/yyb/backend/pom.xml: Maven 父工程配置
- 各模块/src/main/resources/bootstrap.yml: 各模块配置文件
服务端口汇总
| 服务名称 | 端口 | 说明 |
|---|---|---|
| jxy-gateway | 7101 | 网关服务 |
| jxy-auth | 9200 | 认证服务 |
| jxy-system | 9201 | 系统管理 |
| jxy-marketall | 9203 | 行情服务 |
| jxy-strategy | 9204 | 策略服务 |
| jxy-binance | 9205 | 币安服务 |
| jxy-order | 8102 | 订单服务 |
| jxy-file | 9300 | 文件服务 |
| windminer | 9808 | 风控挖矿 |
启动顺序
- Nacos (127.0.0.1:8848)
- Sentinel (127.0.0.1:8718)
- jxy-gateway
- jxy-auth
- jxy-system
- 其他业务模块 (jxy-marketall, jxy-strategy, jxy-order, jxy-binance, jxy-file, windminer)