高可用
TDengine 作为分布式时序数据库,支持高可用特性。默认高可用方案为基于 RAFT 协议的标准三副本方案;为适应不同用户场景的需要,提供基于 RAFT 协议改造的双副本方案;为满足传统双机主备架构的需求,提供基于 WAL 数据 同步的双活方案。
- 标准三副本方案:时序数据的副本数目为 3,确保了最高的可用性,成本也最高。
- 双副本结合 Arbitrator 方案:时序数据的副本数目为 2,但节点数目至少为 3,以确保高可用性和良好的数据一致性,可显著降低成本。与三副本方案相比,此方案在显著降低成本的同时,依然保持了较高的可用性。
- 双活方案:可仅部署两个节点,高可用性较好,数据一致性较弱(最终一致性)。
以下为三种方案的特点:
# | 三副本 | 双副本 | 双活 |
---|---|---|---|
集群数目 | 部署一个集群 | 部署一个集群 | 部署两个不同集群 |
最小节点数 | 三个数据节点 | 两个数据节点,一个仲裁节点 | 两个数据节点 |
选主原理 | Raft 协议 | 管理节点仲裁选主 | 无需选主 |
同步原理 | Raft 协议 | Raft 协议 | 通过 taosX 进行数据同步 |
同步延迟 | 无延迟 | 无延迟 | 依赖于 taosX 的同步速度,秒级延迟 |
数 据安全性 | 无数据丢失 | 无数据丢失 | 依赖于 WAL 的保存时长 |
数据一致性 | RAFT 一致性 | RAFT 一致性 | 最终一致性 |
高可用性 | 任一节点宕机不影响服务 | 任一节点宕机不影响服务,但不能处理连续宕机场景 | 一个实例存活即可提供服务 |