system-architecture.md 7.7 KB

供应链金融平台系统架构

整体架构

供应链金融平台采用基于Spring Cloud的微服务架构,系统各组件之间通过RESTful API和消息队列进行通信。整体架构如下图所示:

┌───────────────────────────────────────────────────────────────────┐
│                            客户端层                                │
│                                                                   │
│    ┌─────────────┐    ┌─────────────┐    ┌─────────────────┐     │
│    │   Web端     │    │  Android端  │    │     iOS端       │     │
│    │  (UniApp)   │    │  (UniApp)   │    │    (UniApp)     │     │
│    └─────────────┘    └─────────────┘    └─────────────────┘     │
└───────────────────────────────────────────────────────────────────┘
                            ▲
                            │
                            ▼
┌───────────────────────────────────────────────────────────────────┐
│                           API网关层                               │
│                                                                   │
│                      Spring Cloud Gateway                         │
│                                                                   │
└───────────────────────────────────────────────────────────────────┘
                            ▲
                            │
                            ▼
┌───────────────────────────────────────────────────────────────────┐
│                          微服务业务层                             │
│                                                                   │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌──────────┐ │
│  │  认证服务   │  │  签约服务   │  │  风险服务   │  │ 其他服务 │ │
│  └─────────────┘  └─────────────┘  └─────────────┘  └──────────┘ │
│                                                                   │
└───────────────────────────────────────────────────────────────────┘
                            ▲
                            │
                            ▼
┌───────────────────────────────────────────────────────────────────┐
│                          公共服务层                               │
│                                                                   │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌──────────┐ │
│  │ 服务注册中心│  │ 配置中心    │  │ 链路追踪    │  │ 日志中心 │ │
│  │  (Nacos)    │  │  (Nacos)    │  │  (SkyWalking)│  │ (ELK)   │ │
│  └─────────────┘  └─────────────┘  └─────────────┘  └──────────┘ │
│                                                                   │
└───────────────────────────────────────────────────────────────────┘
                            ▲
                            │
                            ▼
┌───────────────────────────────────────────────────────────────────┐
│                          数据存储层                               │
│                                                                   │
│     ┌─────────────┐    ┌─────────────┐    ┌─────────────┐        │
│     │  MySQL      │    │   Redis     │    │  MinIO      │        │
│     │ (业务数据)  │    │ (缓存/会话) │    │ (文件存储)  │        │
│     └─────────────┘    └─────────────┘    └─────────────┘        │
│                                                                   │
└───────────────────────────────────────────────────────────────────┘

核心服务说明

1. 认证服务 (gulop-member-auth)

认证服务负责用户身份验证和授权管理,主要功能包括:

  • 用户注册与登录
  • 身份验证(JWT Token管理)
  • 权限管理
  • 企业实名认证
  • 角色与权限配置

技术实现:

  • Spring Security
  • JWT认证
  • OAuth2.0集成(可选)

2. 签约服务

签约服务负责电子合同的生成、签署和管理,主要功能包括:

  • 合同模板管理
  • 电子合同生成
  • 在线签署
  • 合同存储与查询
  • 合同有效性验证

技术实现:

  • 电子签章集成
  • PDF生成与处理
  • 区块链存证(可选)

3. 风险服务

风险服务负责评估交易风险,包括:

  • 信用评分计算
  • 风险等级评估
  • 欺诈检测
  • 交易审核

技术实现:

  • 规则引擎
  • 风险模型评估
  • 异常交易检测

数据库设计

系统使用MySQL作为主要的关系型数据库,主要数据模型包括:

  1. 用户与账户数据
  2. 企业信息数据
  3. 合同数据
  4. 交易数据
  5. 风险评估数据

数据库采用分库分表设计,按业务领域进行垂直拆分,高并发表采用水平分片。

安全设计

系统安全设计包括:

  1. 传输层安全:HTTPS加密通信
  2. 应用层安全:
    • 参数验证与防SQL注入
    • XSS防护
    • CSRF防护
  3. 认证与授权:
    • JWT Token认证
    • 基于角色的访问控制
  4. 数据安全:
    • 敏感数据加密存储
    • 数据脱敏展示
    • 操作日志审计

可扩展性设计

系统可扩展性主要体现在:

  1. 微服务架构,支持服务独立扩展
  2. 无状态设计,支持水平扩展
  3. 消息队列解耦,支持异步处理
  4. 配置中心化,支持动态配置调整
  5. 服务发现,支持服务动态扩缩容