分区之间消息分布不均匀是否会对 Kafka 集群的性能产生不良影响?
Does uneven distribution of messages amongst partitions have bad impact on performance of Kafka cluster?
我正在设计高吞吐量系统,其中我将有多个生产者。
我的主题将被分割。生产者将以键值对的形式发送记录。
密钥将用于对数据进行分区。
消费者将被组织成消费者组(他们将被分配相同的组 ID,以便他们可以同时消费来自同一主题但来自不同分区的消息)。
Kafka 保证单个分区内消息的顺序。
消费者将被分配到他们公平的分区份额。
唯一让我担心的是,我的分区键不会以循环方式分发消息,并且某些分区可能比其他分区更忙。
问:不均匀的分区是否会以任何方式影响 Kafka 集群的性能?有没有危险信号?
我知道有些消费者会有更多工作要做,但这不是我主要关心的问题。
在此问题上的任何帮助将不胜感激。
不均匀分区是否会以任何方式影响 Kafka 集群的性能?
每个分区都有一个充当“领导者”的服务器和零个或多个充当“追随者”的服务器。领导者处理分区的所有读写请求,而追随者被动地复制领导者。因此,如果您的生产者将大部分消息发送到一个分区,它会给领导者带来很多工作 partition.If 它是一个分区的消息泛滥,它会滞后写入,减慢节点速度。
有没有危险信号?
引自here:
Kafka uses Yammer Metrics for metrics reporting in both the server and the client. This can be configured to report stats using pluggable stats reporters to hook up to your monitoring system.
The easiest way to see the available metrics is to fire up jconsole and point it at a running kafka client or server; this will allow browsing all metrics with JMX.
也许有一些指标可以反映这个减速问题。 :
Time the request waits in the request queue
Time the request is processed at the leader
Time the request waits for the follower
Time the request waits in the response queue
对于之前的好答案,我想补充一点,即使是复制因子也会对您的用例产生影响。
繁忙分区的跟随者节点可能是其他分区的领导节点,因此除了从繁忙分区复制大量消息外,它们还必须处理来自其领导分区的生产者的传入消息。因此,即使是这些节点也会非常忙以处理繁重的负载。
我正在设计高吞吐量系统,其中我将有多个生产者。
我的主题将被分割。生产者将以键值对的形式发送记录。
密钥将用于对数据进行分区。
消费者将被组织成消费者组(他们将被分配相同的组 ID,以便他们可以同时消费来自同一主题但来自不同分区的消息)。
Kafka 保证单个分区内消息的顺序。
消费者将被分配到他们公平的分区份额。
唯一让我担心的是,我的分区键不会以循环方式分发消息,并且某些分区可能比其他分区更忙。
问:不均匀的分区是否会以任何方式影响 Kafka 集群的性能?有没有危险信号?
我知道有些消费者会有更多工作要做,但这不是我主要关心的问题。 在此问题上的任何帮助将不胜感激。
不均匀分区是否会以任何方式影响 Kafka 集群的性能?
每个分区都有一个充当“领导者”的服务器和零个或多个充当“追随者”的服务器。领导者处理分区的所有读写请求,而追随者被动地复制领导者。因此,如果您的生产者将大部分消息发送到一个分区,它会给领导者带来很多工作 partition.If 它是一个分区的消息泛滥,它会滞后写入,减慢节点速度。
有没有危险信号?
引自here:
Kafka uses Yammer Metrics for metrics reporting in both the server and the client. This can be configured to report stats using pluggable stats reporters to hook up to your monitoring system. The easiest way to see the available metrics is to fire up jconsole and point it at a running kafka client or server; this will allow browsing all metrics with JMX.
也许有一些指标可以反映这个减速问题。 :
Time the request waits in the request queue
Time the request is processed at the leader
Time the request waits for the follower
Time the request waits in the response queue
对于之前的好答案,我想补充一点,即使是复制因子也会对您的用例产生影响。
繁忙分区的跟随者节点可能是其他分区的领导节点,因此除了从繁忙分区复制大量消息外,它们还必须处理来自其领导分区的生产者的传入消息。因此,即使是这些节点也会非常忙以处理繁重的负载。