Kafka分区有啥好处?

Posted

技术标签:

【中文标题】Kafka分区有啥好处?【英文标题】:What is benefit of partition in Kafka?Kafka分区有什么好处? 【发布时间】:2019-11-29 20:38:35 【问题描述】:

那么,让我们比较一下 Kafka 和 RabbitMQ。

Kafka(Partition) = RabbitMQ(Queue)

队列包含所有消息,如列表。

Kafka分区有什么好处,为什么不只在一个分区中使用消息?

是否只是前复制?

【问题讨论】:

【参考方案1】:

Kafka 不是一个队列,你不能有选择性的确认,这使得它作为一个队列不太有用。

已经有一个主题离您的问题不远了(实际上,情况恰恰相反,为什么是 Kafka 而不是队列):

Is there any reason to use RabbitMQ over Kafka?

另一方面,为了完成并回答更多您的问题,Kafka 分区允许简单透明的横向扩展,只需使用主题的分区数量(这将适合消费者组中的消费者数量) )。

亚尼克

【讨论】:

kafka 是否确认消息已传递给客户和消费者已阅读消息?【参考方案2】:

如果您有很多分区,当一个分区出现故障时,您仍然可以从另一个分区读取(复制)。

此外,许多分区意味着更高的吞吐量。生产者可以生产得更快、更多。并且消费者可以消费更多更快(使用Consumer group)

随着您的系统变得越来越大,您可以在不停止系统的情况下添加更多分区。

【讨论】:

以上是关于Kafka分区有啥好处?的主要内容,如果未能解决你的问题,请参考以下文章

分区和分桶 Hive Table 有啥好处?

sqlserver 分区表有啥好处?

kafka的生产者的分区策略

具有多个分区的 Apache Kafka 消息顺序

Kafka-生产者分区

Kafka-生产者分区