服务拓扑与节点角色

默认运行形态

Cloud Blox 的默认交付形态是前后端一体的应用服务。管理控制台静态资源、四类协议入口、异步任务消费者和计划任务可以由同一个应用实例承载,共享数据库、缓存、队列和存储通道配置。

这种形态部署简单、组件数量少,适合单机和中小规模环境。随着流量和区域数量增加,应逐步把数据库高可用、缓存高可用、日志存储和节点容量治理纳入生产拓扑。

flowchart TB
    Proxy[反向代理 / 负载均衡]
    Proxy --> Admin[Admin 入口]
    Proxy --> S3[S3 入口]
    Proxy --> Access[Access 入口]
    Proxy --> DAV[WebDAV 入口]

    Admin --> App[Cloud Blox 应用实例]
    S3 --> App
    Access --> App
    DAV --> App

    App --> Worker[异步任务消费者]
    App --> Scheduler[计划任务调度]
    App --> DB[(MySQL)]
    App --> Cache[(Redis)]
    App --> Logs[(ClickHouse)]
    Worker --> Channels[存储通道]
    Scheduler --> Channels

四类服务入口

Admin

  • 默认端口为 38002。
  • 提供管理控制台、管理 API、客户端协议 API、健康探针和可选指标入口。
  • 主要服务系统管理员、存储桶所有者和桌面客户端。

S3

  • 默认端口为 38003。
  • 提供 S3 兼容的存储桶、对象、列举和分片上传操作。
  • 支持签名请求和预签名访问。

Access

  • 默认端口为 38004。
  • 提供公开或签名资源访问、缓存、回源、跨区域代理和媒体处理。
  • 可通过绑定域名或通配域名把请求映射到存储桶。

WebDAV

  • 默认端口为 38005。
  • 提供存储桶级 WebDAV 挂载。
  • 账号可以限定只读、存储桶和路径范围。
  • 该能力受发行版功能控制。

独立端口与共享端口

四类服务可以使用不同端口,也可以配置到同一个端口:

  • 独立端口:每个入口独立监听,故障定位和网络策略更直观。
  • 共享端口:系统依据请求域名分发到 Admin、S3、Access 或 WebDAV。
  • 默认分发:域名未匹配时优先进入 Access,因此生产环境必须准确配置管理、S3、资源和 WebDAV 域名。

共享端口通常与反向代理、统一 HTTPS 和多个业务域名配合使用。若域名配置错误,可能出现请求进入错误协议入口的情况,部署后应逐个验证域名、证书和路由。

主节点与区域节点

主节点

主节点承担全局控制职责:

  • 数据库迁移和默认数据初始化;
  • 全局统计、计费和清理任务;
  • 区域健康检查;
  • 管理控制台和全局配置;
  • 无明确区域归属任务的兜底处理。

区域节点

区域节点面向指定区域处理数据:

  • 接收或代理该区域存储桶的上传和下载;
  • 消费带区域标识的上传、删除、回源、副本和备份任务;
  • 运行区域相关的计划任务;
  • 使用区域端点向客户端提供就近访问。

区域路由

存储桶绑定区域后,平台根据区域端点和节点角色决定请求在本地处理还是转发。异步任务使用区域队列隔离,基础队列保留为无区域任务和兼容场景的兜底。

外部依赖及影响

MySQL

MySQL 是业务事实的核心来源。不可用时,登录、对象元数据、任务状态、配置和账单均无法可靠工作,应用应被视为未就绪。

Redis

Redis 支持异步任务、分布式锁、会话失效、缓存索引和跨节点失效通知。Redis 故障可能使文件上传、物理删除、关键计划任务和多节点一致性受影响。

ClickHouse

ClickHouse 主要承载访问日志、通道日志、计费事件和历史节点指标。不可用时,基础对象读写可以降级运行,但日志分析、历史监控和商业版计量链路会受影响。

本地磁盘

本地磁盘承载临时上传、访问缓存、媒体缓存和可选本地存储通道。磁盘容量不足会直接影响上传、缓存和媒体处理,应独立监控临时目录、缓存目录和本地存储目录。

外部存储通道

单个通道故障不应影响其他通道。平台会根据存储桶配置、区域、通道状态和重试策略选择可用通道;副本能力可进一步降低单通道故障影响。

推荐部署层级

单机基础部署

一个应用实例配套一个 MySQL、Redis 和 ClickHouse,数据持久化到安装目录。适合试用、小规模业务和没有高可用要求的环境。

单区域生产部署

在基础部署之上增加:

  • HTTPS 反向代理;
  • 独立数据盘;
  • 自动备份和恢复演练;
  • 外部监控告警;
  • MySQL 与 Redis 高可用;
  • 应用滚动升级策略。

多区域部署

在单区域生产能力之上增加:

  • 主节点与区域节点;
  • 区域域名和健康检查;
  • 区域队列消费;
  • 跨区域代理与缓存;
  • 明确的控制面故障切换方案;
  • 区域间网络和数据一致性监控。

版本与能力门控

免费版、商业版和源码版共享基础运行拓扑,但功能集合不同。控制台菜单、API 和存储桶设置会根据发行版隐藏或拦截受限能力。部署文档和验收清单必须记录实际发行版,避免把未启用的功能误判为故障。

更多运行数据说明见数据与对象生命周期,异步执行说明见异步任务与可靠性。