Apache Pulsar中的主题复制

时间:2019-03-13 16:55:16

标签: apache-pulsar

replication in Pulsar上的文档描述性不强。 我想知道复制是如何工作的,persistence policies for a namespace如何发挥作用。文档讨论了这些参数

  • bookkeeper-ack-quorom:等待每次输入的装箱数(保证份数)
  • bookkeeper-ensemble:用于主题的博彩数量
  • bookkeeper-write-quorum:每个条目要写多少次

bookkeeper-ack-quorom意味着延迟到客户端的确认,直到该数量的Bookies已将条目写入磁盘吗?

bookkeeper-ensemblebookkeeper-write-quorum有什么区别?

让我们假设我有3个bookies,并且我希望命名空间中的主题驻留在每个bookies上,然后将这两个值都设置为3

1 个答案:

答案 0 :(得分:2)

  

bookkeeper-ack-quorom是否意味着直到该数量的bookies将条目写入磁盘后,对客户端的ack才被延迟?

是的。如果您的确认法定人数为2,则意味着发布成功后,您将拥有2个保证的邮件副本。 在默认配置中,这意味着将消息写入磁盘,然后刷新(同步)到2台计算机上的磁盘。

  

Bookkeeper-ensemble和Bookkeeper-write-quorum有什么区别?

合奏是用于分类帐的博彩数量。在大多数情况下,它配置为等于写入仲裁。

设置ensemble > write-quorum将启用“将单个主题中的多个Bookies上的条目分散。

例如,设置e=5 w=2 a=2将使:

  • 每封邮件均写成2份,我们要等待2秒钟
  • 将消息按循环方式划分为5个书签
  • 每个bookie都会收到2/5消息的子集
  • 每个Bookie的读写访问量都较小

基本上,它允许在不放松订购的情况下扩展单个分类帐的IO。

  

假设我有3个bookies,并且我希望命名空间中的主题驻留在每个bookies上,然后将这两个值都设置为3?

正确。尽管ensemble还代表为了接受写入而需要可用的最小赌注集。

如果您有3个赌注并设置了ensemble=3,则您将无法容忍节点故障。