上云无忧 > 文档中心 > 腾讯云消息队列 Pulsar 版 - Pulsar 跨可用区部署
消息队列 Pulsar 版
腾讯云消息队列 Pulsar 版 - Pulsar 跨可用区部署

文档简介:
Pulsar 跨可用区部署: Pulsar 支持跨可用区部署,即在有 3 个或 3 个以上可用区的地域购买 Pulsar 集群时,可以最多选择 3 个可用区购买跨可用区实例。该实例分区副本会强制分布在各个可用区节点上,这种部署方式能够让您的实例在单个可用区不可用情况下仍能正常提供服务。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

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 信息,目前只实现了 rackaware 的能力。

使用说明

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

说明

目前该功能公测中,暂不单独计费。

相似文档
  • 消息 ID 生成规则: 在 Pulsar 中,每条消息都有自己的 ID(即 MessageID),MessageID 由四部分组成:ledgerId:entryID:partition-index:batch-index。其中: partition-index:指分区的编号,在非分区 topic 的时候为 -1。 batch-index:在非批量消息的时候为 -1。
  • 消息元数据组成: Pulsar 中每个分区 Topic 的消息数据以 ledger 的形式存储在 BookKeeper 集群的 bookie 存储节点上,每个 ledger 包含一组 entry,而 bookie 只会按照 entry 维度进行写入、查找、获取。
  • 为了适用不同场景的需求,Pulsar 支持四种订阅模式:Exclusive、Shared、Failover、Key_Shared。
  • 相关概念: 定时消息:消息在发送至服务端后,实际业务并不希望消费端马上收到这条消息,而是推迟到某个时间点被消费,这类消息统称为定时消息。 延时消息:消息在发送至服务端后,实际业务并不希望消费端马上收到这条消息,而是推迟一段时间后再被消费,这类消息统称为延时消息。
  • 本文主要介绍 TDMQ Pulsar 版中消息标签过滤的功能、应用场景和使用方式。 功能介绍: Tag,即消息标签,用于对某个Topic下的消息进行分类。TDMQ Pulsar 版的生产者在发送消息时,指定消息的 Tag,消费者需根据已经指定的 Tag 来进行订阅。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部