供应链金融平台采用基于Spring Cloud的微服务架构,系统各组件之间通过RESTful API和消息队列进行通信。整体架构如下图所示:
┌───────────────────────────────────────────────────────────────────┐
│ 客户端层 │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │
│ │ Web端 │ │ Android端 │ │ iOS端 │ │
│ │ (UniApp) │ │ (UniApp) │ │ (UniApp) │ │
│ └─────────────┘ └─────────────┘ └─────────────────┘ │
└───────────────────────────────────────────────────────────────────┘
▲
│
▼
┌───────────────────────────────────────────────────────────────────┐
│ API网关层 │
│ │
│ Spring Cloud Gateway │
│ │
└───────────────────────────────────────────────────────────────────┘
▲
│
▼
┌───────────────────────────────────────────────────────────────────┐
│ 微服务业务层 │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌──────────┐ │
│ │ 认证服务 │ │ 签约服务 │ │ 风险服务 │ │ 其他服务 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ └──────────┘ │
│ │
└───────────────────────────────────────────────────────────────────┘
▲
│
▼
┌───────────────────────────────────────────────────────────────────┐
│ 公共服务层 │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌──────────┐ │
│ │ 服务注册中心│ │ 配置中心 │ │ 链路追踪 │ │ 日志中心 │ │
│ │ (Nacos) │ │ (Nacos) │ │ (SkyWalking)│ │ (ELK) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ └──────────┘ │
│ │
└───────────────────────────────────────────────────────────────────┘
▲
│
▼
┌───────────────────────────────────────────────────────────────────┐
│ 数据存储层 │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ MySQL │ │ Redis │ │ MinIO │ │
│ │ (业务数据) │ │ (缓存/会话) │ │ (文件存储) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
└───────────────────────────────────────────────────────────────────┘
认证服务负责用户身份验证和授权管理,主要功能包括:
技术实现:
签约服务负责电子合同的生成、签署和管理,主要功能包括:
技术实现:
风险服务负责评估交易风险,包括:
技术实现:
系统使用MySQL作为主要的关系型数据库,主要数据模型包括:
数据库采用分库分表设计,按业务领域进行垂直拆分,高并发表采用水平分片。
系统安全设计包括:
系统可扩展性主要体现在: