tencent cloud

消息队列 Pulsar 版

动态与公告
新功能发布记录
集群版本更新记录
产品公告
产品简介
TDMQ 产品系列介绍与选型
什么是消息队列 Pulsar 版
产品优势
应用场景
技术原理
产品系列
开源 Pulsar 版本支持说明
与开源 Pulsar 对比
高可用
配额与限制
基础概念
产品计费
计费概述
价格说明
计费示例
续费说明
查看消费明细
欠费说明
退费说明
快速入门
入门流程指引
准备工作
使用 SDK 收发普通消息
使用 SDK 收发高级特性消息
用户指南
使用流程指引
配置账号权限
新建集群
配置命名空间
配置 Topic
连接集群
管理集群
查询消息及轨迹
跨地域复制
查看监控和配置告警
实践教程
客户端使用实践
异常消费者隔离
限流机制说明
交易对账
消息幂等性
消息压缩
迁移指南
单写多读集群迁移方案
虚拟集群平滑迁移至专业集群
API 参考
API 概览
SDK 参考
SDK 概述
SDK 配置参数推荐
TCP 协议(Pulsar 社区版)
安全与合规
权限管理
删除保护
云 API 审计
常见问题
监控相关
客户端相关
服务协议
服务等级协议
TDMQ 政策
联系我们
词汇表

集群级高可用

PDF
聚焦模式
字号
最后更新时间: 2025-12-24 15:16:09

Pulsar 跨可用区部署

Pulsar 支持跨可用区部署,即在有 3 个或 3 个以上可用区的地域购买 Pulsar 集群时,可以最多选择 3 个可用区购买跨可用区实例。该实例分区副本会强制分布在各个可用区节点上,这种部署方式能够让您的实例在单个可用区不可用情况下仍能正常提供服务。


跨可用区部署原理

Pulsar 跨可用区容灾是通过机架感知原理实现,即将不同组件的服务节点部署到不同可用区的不同机架中,但本质还是一套 Pulsar 集群。
机架感知是 Ensemble Placement Policy 的一种,是 BookKeeper Client 用来选择 Ensembles 的算法,选择的依据主要是依赖网络拓扑属性。

如何选择 Bookie

在初始化部署 Bookie 集群时,Bookie 会向当前的 ZooKeeper 注册一个临时的 zk-node,BookKeeper Client 通过 Zookeeper (watcher)来发现 Bookie 列表。当 bookie 变更时(宕机),Ensemble Placement Policy 会通过 onClusterChanged(Set, Set) 接口被通知,然后重新构造新的网络拓扑,后续的操作,例如 newEnsemble 就会基于新的网络拓扑来生成。

NetworkTopology

网络拓扑用一个树状的分层结构来表示一个集群中的 Bookie 节点信息。一个 Bookie 集群可以由很多的 data center(region)组成。在一个 data center 内部包含了分布在不同 rack 上的机器,在树状结构中,叶子节点表示 bookie 信息。
示例1:Region A 有三个 bookie, bk1 , bk2 and bk3 , 它们的网络位置是, /region-a/rack-1/bk1 , /region-a/rack-1/bk2 , /region-a/rack-2/bk3 , 网络拓扑结构就是如下所示:
root
|
region-a
/ \\
rack-1 rack-2
/ \\ \\
bk1 bk2 bk3

示例2:Region A 和 Region B 有四个 bookie, bk1 , bk2 , bk3 and bk4 ,它们的网络位置是, /region-a/rack-1/bk1 , /region-a/rack-1/bk2 , /region-b/rack-2/bk3 和 /region-b/rack-2/bk4 ,网络拓扑结构如下:

root
/ \\
region-a region-b
| |
rack-1 rack-2
/ \\ / \\
bk1 bk2 bk3 bk4

网络位置是通过 DNSToSwitchMapping 来解析的, DNSToSwitchMapping 会将域名或者 IP 解析到网络位置。网络位置一定是 /region/rack 格式, / 表示 root,region 表示 data center,rack 表示机架信息。
说明:
在 Pulsar 中实现的 DNSToSwitchMapping 是 BookieRackAffinityMapping,通过 ZK 保存 rack 信息,目前只实现了 rack-aware 的能力。

跨可用区部署优劣势

优势

可以大幅度提升集群的容灾能力,当单个可用区出现意外的网络不稳定、断电重启等不可抗力风险时,仍能保证客户端在短时间等待重连后恢复消息的生产和消费。

劣势

采取跨可用区部署则不可避免有跨可用区同步耗时的增加,目前广州、上海、北京几个主要地域跨可用区的时延一般10ms - 40ms。

使用说明

目前仅专业集群支持跨可用区部署。请参见 产品选型


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈