跳到主要内容

GeniSpace 独立部署弹性伸缩能力

本文档详细介绍 GeniSpace 独立部署版本的弹性伸缩能力,帮助企业客户了解平台的架构设计和扩展策略。

概述

GeniSpace 采用现代化的微服务架构设计,基于 Kubernetes 集群部署,提供了卓越的高可用性和高可扩展性。平台的各个核心服务均支持独立的垂直扩展和水平扩展,能够根据业务需求灵活调整资源配置。

版本说明

GeniSpace 提供三个版本:

版本说明
独立部署版企业私有化部署,本文档主要介绍此版本
国际版云端 SaaS 服务(国际区域)
中国版云端 SaaS 服务(中国区域)

弹性伸缩能力概要(对应培训资料)

GeniSpace 独立部署版本通过微服务架构和 Kubernetes 原生特性,提供如下能力:

  1. 水平扩展:所有服务支持通过增加副本数进行水平扩展
  2. 垂直扩展:通过调整资源配置(CPU、内存等)进行垂直扩展
  3. 自动扩展:支持配置 HPA(Horizontal Pod Autoscaler)实现自动弹性伸缩
  4. 高可用:通过多副本部署和健康检查确保服务高可用
  5. 无限扩展:通过 Scheduler + Worker 架构实现任务执行能力的无限扩展

任务执行层:Worker、Scheduler
核心服务层:API、Agent、Dataset、MCP Server

获取独立部署版

如需了解独立部署版本的详细信息或进行采购咨询,请联系我们的销售团队:https://www.genispace.cn/contact

平台架构

微服务组件

GeniSpace 平台由多个独立的微服务组成,每个服务都可以根据负载需求进行独立扩展:

┌─────────────────────────────────────────────────────────────────┐
│ 前端服务层 │
│ ┌─────────┐ ┌─────────┐ ┌───────────┐ ┌─────────┐ │
│ │ Web │ │ Console │ │ Workbench │ │ Admin │ ... │
│ └─────────┘ └─────────┘ └───────────┘ └─────────┘ │
└─────────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────┐
│ 核心服务层 │
│ ┌─────────┐ ┌─────────┐ ┌───────────┐ ┌────────────┐ │
│ │ API │ │ Agent │ │ Dataset │ │ MCP Server │ │
│ └─────────┘ └─────────┘ └───────────┘ └────────────┘ │
└─────────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────┐
│ 任务执行层 │
│ ┌───────────┐ ┌────────┐ ┌─────────────────────────────┐ │
│ │ Scheduler │ │ Worker │ │ Operators (NJS/Enterprise) │ │
│ └───────────┘ └────────┘ └─────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────┐
│ 基础设施层 │
│ ┌──────────┐ ┌──────────┐ │
│ │ Redis │ │ RabbitMQ │ │
│ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────────┘

核心服务说明

服务描述默认副本数扩展建议
API核心后端 API 服务1根据 API 请求量扩展
AgentAI 智能体服务,提供常驻进程1-3根据并发智能体数量扩展
Dataset数据集管理服务1根据数据处理需求扩展
MCP ServerMCP 工具调用服务1根据 MCP 调用频率扩展
Worker任务执行工作节点10根据任务队列深度动态扩展
Scheduler任务调度服务2高可用部署,建议 2+ 副本

任务执行层弹性伸缩

Worker - 强大的任务执行引擎

Worker 是 GeniSpace 平台的核心任务执行组件,提供了强大的任务处理能力。

工作模式

Worker 运行在 HTTP 模式下,作为常驻进程提供以下能力:

  • 调试支持:为开发人员提供实时调试环境
  • MCP 工具调用:支持智能体的 MCP (Model Context Protocol) 工具调用
  • 任务执行:处理工作流中的各类任务节点

资源配置示例

# Worker 资源配置
resources:
requests:
cpu: 100m # 基础 CPU 请求
memory: 128Mi # 基础内存请求
limits:
cpu: 1000m # CPU 上限,支持突发性能
memory: 1Gi # 内存上限

水平扩展策略

Worker 支持灵活的水平扩展,可以根据任务队列深度自动或手动扩展副本数:

# 副本数配置
spec:
replicas: 10 # 可根据需求调整

扩展建议

  • 小型部署(< 100 并发任务):5-10 个副本
  • 中型部署(100-500 并发任务):10-20 个副本
  • 大型部署(> 500 并发任务):20+ 个副本,建议配合 HPA

Scheduler - 无限扩展的任务调度

Scheduler 是任务调度的核心组件,负责管理和分发任务到 Worker 节点。

核心特性

  • 分布式锁:使用 Redis 实现分布式锁,确保任务不会重复执行
  • 高可用设计:支持多副本部署,自动故障转移
  • 健康检查:内置健康检查端点,确保服务可用性
# Scheduler 健康检查配置
livenessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 30
periodSeconds: 10

readinessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 10
periodSeconds: 5

无限扩展能力

通过 Scheduler + Worker 的架构设计,GeniSpace 实现了任务执行能力的无限扩展:

  1. Scheduler 负责任务调度和分发
  2. Worker 负责任务执行
  3. 通过增加 Worker 副本数,可以线性提升任务处理能力

核心服务弹性伸缩

API 服务

API 服务是平台的核心后端服务,处理所有的 API 请求。

垂直扩展配置

resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 1000m # 生产环境允许更高的突发性能
memory: 1Gi

水平扩展

根据 API 请求量,可以增加 API 服务的副本数:

spec:
replicas: 3 # 高流量场景建议 3+ 副本

Agent 服务

Agent 服务提供 AI 智能体的运行环境,是 AI 能力的核心载体。

资源配置

由于 AI 服务的计算密集型特点,Agent 服务需要更高的资源配置:

resources:
requests:
cpu: 200m # AI 服务需要更多 CPU
memory: 256Mi
limits:
cpu: 2000m # AI 任务可能需要大量 CPU
memory: 2Gi

扩展策略

  • 常驻进程:Agent 作为常驻进程运行,提供实时的 AI 服务能力
  • MCP 工具调用:与 MCP Server 配合,支持智能体调用各类工具
  • 水平扩展:可根据并发智能体数量增加副本

Dataset 服务

Dataset 服务负责数据集的管理和处理。

resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi

MCP Server

MCP Server 提供 Model Context Protocol 的服务端实现,支持智能体调用外部工具。

resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi

Kubernetes 部署策略

滚动更新策略

所有服务都配置了滚动更新策略,确保更新过程中服务不中断:

strategy:
rollingUpdate:
maxSurge: 1 # 更新时最多额外创建 1 个 Pod
maxUnavailable: 0 # 更新时不允许 Pod 不可用
type: RollingUpdate

资源配置最佳实践

GKE Autopilot Bursting 特性

如果您使用 GKE Autopilot,可以利用 Bursting 特性优化成本:

  • 策略:设置较低的 requests(节省成本),合理的 limits(确保性能)
  • 最小值:requests CPU 50m, Memory 52Mi

资源配置分层

服务类型CPU RequestsCPU LimitsMemory RequestsMemory Limits
前端服务50m500m64Mi512Mi
核心服务100m1000m128Mi1Gi
AI 服务200m2000m256Mi2Gi

配置管理

使用 Kustomize 进行环境差异化配置:

cicd/apps/genispace/
├── base/ # 基础配置
│ ├── deployment/ # 部署配置
│ ├── service/ # 服务配置
│ └── config/ # ConfigMap 配置
└── overlays/ # 环境覆盖层
└── global/
├── prod/ # 生产环境
│ ├── patches/ # 环境特定补丁
│ └── config/ # 环境配置
└── test/ # 测试环境

高可用配置

多副本部署

关键服务建议配置多副本以实现高可用:

服务最低副本数推荐副本数
API12-3
Agent12-3
Scheduler22-3
Worker510+

健康检查

所有服务都支持 Kubernetes 原生的健康检查机制:

  • Liveness Probe:检测服务是否存活
  • Readiness Probe:检测服务是否就绪

扩展操作指南

手动扩展

使用 kubectl 命令手动扩展服务副本数:

# 扩展 Worker 到 20 个副本
kubectl scale deployment worker --replicas=20 -n genispace

# 扩展 API 到 3 个副本
kubectl scale deployment api --replicas=3 -n genispace

通过 Kustomize 配置扩展

修改 overlays/<environment>/patches/deployment-replicas.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
name: worker
spec:
replicas: 20 # 修改为所需副本数
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: agent
spec:
replicas: 5 # 修改为所需副本数

配置 HPA(水平自动伸缩)

可以配置 HPA 实现基于资源使用率的自动扩展:

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: worker-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: worker
minReplicas: 5
maxReplicas: 50
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70

监控与运维

关键监控指标

指标类型监控对象告警阈值建议
CPU 使用率所有服务> 80%
内存使用率所有服务> 85%
任务队列深度Scheduler/Worker> 1000
请求延迟API/AgentP99 > 2s
错误率所有服务> 1%

日志与追踪

GeniSpace 支持与主流可观测性工具集成:

  • 日志收集:支持 Fluentd、Fluent Bit
  • 指标监控:支持 Prometheus、Grafana
  • 链路追踪:支持 Phoenix(内置)

总结

GeniSpace 独立部署版本通过微服务架构和 Kubernetes 原生特性,提供了强大的弹性伸缩能力:

  1. 水平扩展:所有服务支持通过增加副本数进行水平扩展
  2. 垂直扩展:可以通过调整资源配置进行垂直扩展
  3. 自动扩展:支持配置 HPA 实现自动弹性伸缩
  4. 高可用:通过多副本部署和健康检查确保服务高可用
  5. 无限扩展:通过 Scheduler + Worker 架构实现任务执行能力的无限扩展
获取支持

如需了解更多关于独立部署版本的信息,或需要专业的部署支持,请联系我们:

相关文档