系统上下文与产品边界
文档目的
Cloud Blox 是一个面向自建部署的对象存储与文件管理平台。它把不同类型的存储服务统一成存储桶和对象模型,并同时提供管理控制台、S3、资源访问、WebDAV 和桌面客户端能力。
本架构说明以当前产品能力为基线,面向部署人员、运维人员、系统管理员和需要评估平台能力的技术负责人。不同发行版会启用不同功能,计费、多副本、回源、WebDAV、自定义域名等能力应以实际授权和控制台显示为准。
核心参与者
- 系统管理员:负责用户、角色、区域、通道、套餐、队列、计划任务、日志和系统配置。
- 存储桶所有者:管理文件、访问权限、域名、CORS、备份、回源、WebDAV 和上传限制。
- 终端用户:通过浏览器或桌面客户端访问、上传、下载、同步和恢复文件。
- S3 客户端:通过标准 S3 认证访问存储桶和对象。
- WebDAV 客户端:通过 WebDAV 账号挂载指定存储桶和路径。
- 外部源站:在对象未命中时提供回源内容。
- 存储服务商:承载最终文件内容,包括本地磁盘、S3 兼容服务及其他插件化存储。
- 外部平台:包括内容审核、通知、支付、CDN 和日志接收平台。
系统上下文
flowchart LR
Admin[系统管理员] --> Console[管理控制台]
User[终端用户] --> Console
User --> Desktop[桌面客户端]
S3Client[S3 客户端] --> S3[S3 协议入口]
DavClient[WebDAV 客户端] --> DAV[WebDAV 协议入口]
Browser[浏览器与公开链接] --> Access[资源访问入口]
Console --> Platform[Cloud Blox 平台]
Desktop --> ClientAPI[客户端协议入口]
ClientAPI --> Platform
S3 --> Platform
DAV --> Platform
Access --> Platform
Platform --> MySQL[(MySQL)]
Platform --> Redis[(Redis)]
Platform --> ClickHouse[(ClickHouse)]
Platform --> Storage[存储通道]
Platform --> Origin[外部源站]
Platform --> Providers[审核 / 通知 / 支付 / CDN]
产品内部的四个平面
控制平面
控制平面承载管理控制台和管理 API,负责身份认证、权限、配置、存储桶、通道、区域、任务、计费与运维管理。管理端菜单由用户角色和发行版能力共同决定。
数据平面
数据平面负责真实文件流量,包括:
- S3 上传、下载、列举和分片操作;
- 资源域名访问与媒体处理;
- WebDAV 文件读写;
- 桌面客户端浏览、上传、下载和同步;
- 主通道、副本、缓存与回源之间的数据读取。
文件内容在服务端或桌面原生层流式传输,不依赖浏览器界面承载完整文件内容。
异步执行平面
耗时或需要重试的操作进入异步执行平面,例如上传到最终通道、物理删除、内容审核、回源、副本、备份和恢复。计划任务负责统计刷新、任务补偿、健康检查、计量采集、结算、清理和数据备份。
数据与观测平面
- MySQL 保存业务事实、对象元数据、任务状态、账单和配置。
- Redis 承载任务队列、分布式协调、短期缓存和跨节点通知。
- ClickHouse 保存高吞吐日志、计费事件和节点历史指标。
- 本地磁盘保存异步上传临时文件、访问缓存、媒体缓存和本地通道数据。
- 桌面客户端使用本地数据库保存账号、同步游标、任务、冲突和设置。
主要产品边界
Cloud Blox 负责统一管理对象、访问入口、任务状态和存储通道,但不替代以下外部能力:
- TLS 证书终止与公网反向代理;
- MySQL、Redis 和 ClickHouse 的高可用集群;
- 第三方存储服务自身的可用性与数据持久性;
- 企业级密钥管理和集中式秘密管理;
- 外部审核、通知、支付与 CDN 服务的 SLA;
- 跨机房网络、DNS 和负载均衡。
因此,默认单机安装适合试用和中小规模部署;关键生产环境还需要补充高可用、备份恢复、监控告警和安全基线。
关键业务链路
- 上传请求先完成身份、权限和限制校验,再进入可靠的异步上传流程。
- 下载请求优先使用就近区域和缓存,必要时读取主通道、副本或源站。
- 管理端删除默认进入回收站;永久删除和 S3 删除触发物理文件回收。
- 文件变更形成客户端可消费的增量记录,桌面端使用游标完成持续同步。
- 计费事件先可靠记录,再进入分析存储、小时快照和日结算流程。
架构目标
当前架构重点保障:
- 多协议访问同一套对象数据;
- 存储服务商可替换;
- 大文件传输不经过前端内存;
- 任务失败可重试、可追踪;
- 多区域节点能够就近处理数据;
- 日志、计量与业务事务相互隔离;
- 桌面同步具备断点恢复、幂等和冲突处理能力。