集群架构

最近更新时间:2026-05-14 17:14:53

我的收藏
TCHouse-C 基于开源 ClickHouse 构建,在保持与社区版架构一致的前提下,针对云端场景在易用性、安全性和稳定性方面进行了深度增强。

整体架构

集群架构拓扑图展示
集群架构拓扑图展示

TCHouse-C 集群由三个核心层组成:

接入层

组件
职责
负载均衡(CLB)
提供集群统一访问地址,自动将连接分发到可用的计算节点
TCP 端口(9000)
ClickHouse 原生协议,适用于 clickhouse-client 及各语言 SDK
MySQL 端口(9004)
使用标准的 MySQL 命令行工具或编程语言的 MySQL 驱动来查询 ClickHouse
HTTP 端口(8123)
HTTP 端口,适用于 REST 调用、JDBC/ODBC 连接

计算层

计算层由多个分片(Shard)组成,每个分片包含 1~2 个副本(Replica)节点:
数据存储:每个副本节点上运行 ClickHouse Server 进程,管理本地表数据的写入、压缩、索引和查询。
并行计算:查询通过分布式表(Distributed Table)自动分发到所有分片并行执行,最终汇总结果返回。
弹性伸缩:支持在线增加分片数量以扩展计算和存储容量。
计算节点规格选型参考:
节点类型
节点存储
适用场景
标准型(推荐
支持挂载增强型 SSD 云硬盘和高性能云硬盘,支持独立扩容、最大单节点支持 320TB,支持透明数据加密(部分地域),写入云硬盘的数据自动加密。
大多数分析场景
高性能型
搭载 NVMe SSD 本地盘,提供更高 I/O 性能,节点磁盘空间固定、不支持独立扩容磁盘。
对 I/O 延迟极敏感的高频查询
大存储型
搭载大容量 HDD 本地盘,节点磁盘空间固定、不支持独立扩容磁盘。
海量冷数据存储、日志归档

协调层(ZooKeeper 或 ClickHouse Keeper)

TCHouse-C 使用 3 节点 ZooKeeper 或 ClickHouse Keeper 集群负责分布式协调:
副本同步:协调 ReplicatedMergeTree 引擎的跨副本数据同步。
DDL 管理:确保分布式 DDL 操作(如建表、改表)在所有节点上一致执行。
Leader 选举:管理合并(Merge)任务的 Leader 选举。
说明:
ZooKeeper 或 ClickHouse Keeper 节点由 TCHouse-C 全托管,用户无需关心其部署和运维。

高可用 vs 非高可用架构对比

维度
高可用模式
非高可用模式
副本数
每分片 2 副本
每分片 1 副本
表引擎
ReplicatedMergeTree
MergeTree
故障切换
自动:节点故障时查询自动路由到副本
不支持:节点故障则分片不可用
数据安全
双副本冗余,单节点损坏不丢数据
依赖云硬盘三副本保障(非本地盘)
成本
约为非高可用模式的 2 倍
更低
推荐场景
生产环境
开发测试、非关键业务

云端增强能力(相比自建 ClickHouse)

TCHouse-C 并非简单的 ClickHouse「搬上云」,而是在以下方面做了深度增强:
能力维度
TCHouse-C
自建 ClickHouse
部署交付
控制台一键创建,分钟级就绪
需手动部署配置,通常耗时数小时
集群管理
控制台可视化管理,内置监控告警
需自行编写运维脚本和监控
版本升级
支持滚动升级,降低业务影响
需停机手动升级,风险较高
弹性扩容
控制台一键操作
扩容需手动添加节点、迁移数据
高可用
内置 ZK 全托管,高可用一键开启
需自行搭建 ZooKeeper、配置副本
安全合规
VPC 隔离 + 云硬盘加密,开箱即用
需自行配置网络隔离和加密