井云服务中心系统架构
井云服务中心后端采用微服务架构设计,基于 Go 1.25.4 和 Kratos v2 框架构建。本文档介绍系统的整体架构设计、技术选型和核心组件。
🏗️ 系统架构图
🎯 架构特性
微服务设计原则
- 业务边界清晰: 按业务领域垂直拆分
- 服务自治: 每个服务独立部署、独立扩展
- 数据隔离: 服务间数据库完全隔离
- 接口标准化: 统一使用 gRPC/HTTP 协议
核心服务说明
Gateway Service (网关服务)
- 职责: 统一入口、路由转发、认证鉴权
- 端口: HTTP 8000, gRPC 9000
- 特性: JWT认证、限流熔断、错误码区分(401/402)
Auth Service (认证服务)
- 职责: 用户认证、授权、Token管理、微信登录
- 端口: gRPC 9001
- 特性: 多种登录方式、Token刷新、租户Token交换
User Service (用户服务)
- 职责: 用户管理、分销系统、点数管理、素材管理
- 端口: gRPC 9002
- 特性: 多级分销、FIFO点数消费、交易记录
Tenant Service (租户服务)
- 职责: 租户管理、版本管理、权限管理、菜单管理
- 端口: gRPC 9003
- 特性: 租户快照、版本权限、平台集成
Agent Service (智能体服务)
- 职责: 智能体管理、分类管理、平台资产同步
- 端口: gRPC 9004
- 特性: 多AI平台集成、智能体配置
Payment Service (支付服务)
- 职责: 订单管理、支付处理、微信支付集成
- 端 口: gRPC 9006
- 特性: 订单状态管理、支付回调、租户创建
Integration Service (集成服务)
- 职责: 文件上传、短信服务、第三方集成
- 端口: gRPC 9007
- 特性: OSS直传、多短信平台、回调处理
Cron Service (定时任务服务)
- 职责: 定时任务调度、过期处理、数据统计
- 端口: gRPC 9008
- 特性: 点数过期、分销等级检查、数据清理
🔧 技术栈
核心技术
- 语言: Go 1.25.4
- 框架: Kratos v2 (微服务框架)
- ORM: Ent v0.14.5 (类型安全的ORM)
- 协议: Protocol Buffers (gRPC/HTTP)
- 依赖注入: Wire v0.7.0 (编译时依赖注入)
基础设施
- 数据库: PostgreSQL 17.5 (主数据库)
- 缓存: Redis (缓存/会话存储)
- 消息队列: RabbitMQ 3.0 (异步通信)
- 服务发现: Consul (注册/配置中心)
第三方集成
- 微信平台: 登录、支付、第三方平台
- 阿里云: OSS存储、短信服务
- Coze平台: AI智能体集成
- 其他: 腾讯云、华为云、AWS SNS
🌐 服务通信架构
同步通信
- gRPC: 服务间实时调用
- HTTP: 对外API接口
- Consul: 服务注册发现
异步通信
- RabbitMQ: 事件驱动架构
- 消息类型: 订单支付、分销佣金、系统通知
- 消息路由: 基于routing key的路由
服务发现
- Consul Registry: 服务自动注册
- 健康检查: 定期健康状态检查
- 负载均衡: 支持多种负载均衡策略
🏢 多租户架构
租户隔离
- 数据隔离: 基于
tenant_id的强隔离 - 权限隔离: 租户间权限完全独立
- 配置隔离: 每个租户独立配置
版本管理
- 版本系统: 支持多版本管理
- 权限控制: 基于版本的权限分配
- 租户快照: 保存购买时的版本配置