Pulsar Messaging(四)

Pulsar提供了四种订阅模式:独占、灾备、共享和密钥共享。独占模式允许一个消费者,而灾备和共享模式允许多个消费者。在灾备模式中,主消费者断开连接后,消息传递给下一个消费者。共享模式通过轮询分发消息,不保证顺序。密钥共享模式确保相同键的消息只被一个消费者接收,需要禁用默认批处理并使用基于密钥的批处理。多主题订阅允许消费者订阅多个主题,但不保证跨主题的顺序保证。
摘要由CSDN通过智能技术生成

订阅

订阅是命名好的配置规则,指导消息如何投递给消费者。Pulsar提供四种订阅模式:独占、共享、故障切换和密钥共享。这些模式如下图所示。
在这里插入图片描述

Pub-Sub or Queuing
在Pulsar中,您可以灵活使用不同的订阅。如果你想在消费者当中使用传统的”发布-订阅消息“,你可以为每个消费者指定一个特定的订阅名称,这是独家订阅模式。 如果你想在消费者当中实现”消息队列“的效果,则多个消费者会拥有相同的订阅名称(如共享模式,灾备模式,key共享模式)。*如果您想同时实现这两种效果,请将独家订阅模式与消费者的其他订阅模式相结合。

无用户订阅及其模式

如果订阅没有使用者,则其订阅模式未定义。订阅的模式是在使用者连接到订阅时定义的,可以通过使用不同的配置重新启动所有使用者来更改模式。

Exclusive(独占)

在独占模式下,仅允许一个消费者附加到订阅。如果多个使用者使用同一订阅订阅一个主题,则会发生错误。

在下图中,只允许消费者A-0使用消息。

独占模式是默认的订阅模式。

在这里插入图片描述

Failover(灾备)

在故障转移模式下,多个用户可以附加到同一订阅。主消费者会消费非分区主题或者分区主题中的每个分区的消息。当主用电设备断开连接时,所有(未确认和后续)消息都会传递给队列中的下一个用电设备。

对于分区主题来说,Broker 将按照消费者的优先级和消费者名称的词汇表顺序对消费者进行排序。 然后试图将主题均匀的分配给优先级最高的消费者。

对于非分区主题来说,broker 会根据消费者订阅非分区主题的顺序选择消费者。

在下图中,如果Consumer-B-0断开连接,Consumer-B-0是主消费者,而Consumer-B-1将是下一个接收消息的消费者。
在这里插入图片描述

Shared(共享)

在共享或循环模式下,多个使用者可以附加到同一订阅。消息通过round robin轮询机制分发给不同的消费者,并且每个消息仅会被分发给一个消费者。 当消费者断开连接,所有被发送给他,但没有被确认的消息将被重新安排,分发给其它存活的消费者。

在下图中,Consumer-C-1和Consumer-C-2可以订阅该主题,但Consumer-C-3和其他人也可以订阅。

共享模式的局限性
使用共享模式时,请注意:*不保证消息顺序。*不能在共享模式下使用累积确认。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值