跳到主要内容

实现无限横向扩展的分布式集群架构

JitAi支持从单节点部署到大规模企业级集群部署,通过组织、节点、运行环境、应用的层级管理,实现了资源调度和负载均衡。

四层架构模型

每个组织可以拥有多个节点,每个节点可以参与到多个运行环境中,每个运行环境可以包括多个节点、部署多个应用。

企业级集群部署架构

典型部署拓扑

多维度环境划分

运行环境支持按不同维度进行灵活划分,满足复杂的企业级部署需求:

分类维度环境示例使用场景
按阶段开发、测试、生产标准软件开发流程
按业务电商、支付、物流业务模块隔离
按客户客户A、客户B、演示多租户部署
按用途性能测试、安全测试专项测试需求

入口地址配置策略

入口地址配置示例:

运行环境主入口地址备用入口地址端口入口
开发环境dev.company.comdev2.company.com:8080
测试环境test.company.comstaging.company.com:8081
生产环境company.combackup.company.com:80
客户A环境a.company.coma1.company.com:8082
演示环境demo.company.com-:8083

集群扩展策略

水平扩展模式

节点级扩展

  • 新增物理或虚拟节点到集群
  • 自动负载均衡和请求分发
  • 支持跨地域节点部署

环境级扩展

  • 在现有节点上创建新的运行环境
  • 支持环境的动态迁移和复制
  • 实现业务隔离和资源优化

应用级扩展

  • 同一应用在多个环境中部署
  • 支持版本并行和灰度发布
  • 实现高可用和容灾备份

负载均衡与容错

多节点负载均衡

  • 智能请求路由和分发
  • 节点健康检查和自动故障转移
  • 支持权重配置和流量控制

环境级容错

  • 环境间的故障隔离
  • 自动故障检测和恢复
  • 数据备份和同步机制

架构约束与最佳实践

版本管理约束

场景规则状态说明
同环境不同应用任意版本组合✅ 允许如:开发环境同时部署应用A v1.0 和应用B v2.1
不同环境同应用不同版本部署✅ 允许如:开发环境部署应用A v1.0,生产环境部署应用A v1.1
同环境同应用多版本并存❌ 禁止同一环境内同一应用只能存在一个版本

网络访问约束

操作类型规则描述状态示例
多地址配置一个环境配置多个入口✅ 允许生产环境:app.com + backup.app.com
动态修改运行时修改环境入口✅ 允许临时切换域名或增加备用入口
地址共享多环境共享同一入口❌ 禁止两个环境不能同时使用 test.com
冲突检测系统自动检测冲突🔍 自动配置时实时检查并提示冲突

部署最佳实践

版本管理

  • 使用不同环境来测试应用的不同版本
  • 通过环境切换实现应用版本的平滑升级
  • 建立清晰的版本命名和发布规范

网络配置

  • 使用有意义的域名前缀区分环境
  • 为重要环境配置备用入口地址
  • 避免频繁修改生产环境的入口地址

资源规划

  • 根据业务负载合理分配节点资源
  • 定期评估和调整环境配置