【kafka】kafka topic 扩分区、副本

【kafka】kafka topic 扩分区、副本,第1张

kafka struct

kafka & consumer group 2

kafka group 3

图中说明一个consumer 可以消费多个partition (一般配置的partition有10个)

但是一个partition 只能连接一个consumer

Consumer 可以认为是消费者服务的实例

多个consumer可以组成一个组,每个消息只能被组中的一个consumer消费,

(所以一个partition对应的在同一个组中对应的consumer只有一个)

如果一个消息可以被多个consumer消费的话,那么这些consumer必须在不同的组。

(正如图3 中的两个不同颜色的线 虽然是同一个内容的消息 但是去往不同的组)

一个partition,只能被消费组里的一个消费者消费,但是可以同时被多个消费组消费

每个主题有多个分区,不同的消费者处理不同的分区,所以Kafka不仅保证了消息的有序性,也做到了消费者的负载均衡。

因为经常说到partition可以用于负载均衡 一个消息只会进入其中一个partition

自己的实验也证实了这种猜测

Kafka 的生产者和消费者相对于服务端而言都是客户端,生产者客户端发布消息到服务端的指定主题, 会指定消息所属的分区。生产者发布消息时根据消息是否有键, 采用不同的分区策略。消息没有键时,通过轮询方式进行客户端负载均衡消息有键时,根据分区语义确保相同键的消息总是发送到同一个分区。

nsqd and channel GIF

>

以上就是关于【kafka】kafka topic 扩分区、副本全部的内容,包括:【kafka】kafka topic 扩分区、副本、kafka存储结构以及Log清理机制、Kafka & NSQ等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9670576.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存