【问题标题】:Any disadvantage of increasing the partition count in Event hub在事件中心增加分区计数的任何缺点
【发布时间】:2017-09-25 04:47:35
【问题描述】:

几个月前,我创建了一个默认为 2 个分区计数的事件中心。

现在我正在转向生产,但我意识到我无法增加分区数。

那么任何人都可以帮助我理解我应该增加分区数的场景吗?

请帮帮我

【问题讨论】:

  • 正如 Peter Bons 在document 中提到的The number of partitions is specified at creation and must be between 2 and 32. The partition count is not changeable, so you should consider long-term scale when setting partition count

标签: azure azure-eventhub


【解决方案1】:

它允许您扩展并行消费者的数量。每个消费者在他们正在读取的分区上放置一个锁。事件在已配置的分区数量上均匀分布。

因此,只有当您认为现在或(不久的)将来您无法足够快地处理传入事件时,您才需要增加分区计数(通过重新创建事件中心)。

总结:由于您只有 2 个分区,因此您只能有 2 个消费进程并行处理项目(对于给定的消费者组)。

另请参阅excellent docs

【讨论】:

    【解决方案2】:

    简短的回答,权衡是在延迟和复杂性之间。

    长答案:

    在以下情况下,分区数越少可能是更好的选择:

    我。你关心事件的顺序。在每个分区内, 事件按顺序排列。因此,如果您关心事件顺序,减少分区将有助于使事件更容易按顺序播放。

    二。如果您使用的 EventProcessorHost 具有消费客户端,则不能有多个线程使用同一分区,以防您出于某种原因想要这样做。 如果您没有使用 EventProcessorHost 有消费客户端,那么如果您没有严格的延迟要求,管理较少的分区将使代码更容易,因为您需要确保每个正在接收的分区至少有一个消费者事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-29
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多