kafka kafka如何设置指定分区进行发送和消费

Posted 九师兄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafka kafka如何设置指定分区进行发送和消费相关的知识,希望对你有一定的参考价值。

在这里插入图片描述

1.概述

我们有个需求是判断kafka分区是否进行了数据倾斜操作,如果数据倾斜了,要告警,然后我就需要写一个故意让数据倾斜的工具。

2.写入指定分区

Producer根据指定的partition方法(round-robin、hash等),将消息发布到指定topic的partition里面。

每一条消息被发送到broker时,会根据paritition规则选择被存储到哪一个partition。如果partition规则设置的合理,所有消息可以均匀分布到不同的partition里,这样就实现了水平扩展。(如果一个topic对应一个文件,那这个文件所在的机器I/O将会成为这个topic的性能瓶颈,而partition解决了这个问题)。在创建topic时可以在$KAFKA_HOME/config/server.properties中指定这个partition的数量(如下所示),当然也可以在topic创建之后去修改parition数量。

在发送一条消息时,可以指定这条消息的key,producer根据这个key和partition机制来判断将这条消息发送到哪个parition。paritition机制可以通过指定producer的paritition.class这一参数来

以上是关于kafka kafka如何设置指定分区进行发送和消费的主要内容,如果未能解决你的问题,请参考以下文章

kafka的分区模式?

Kafka的Java客户端-生产者

Kafka的Java客户端-生产者

2、kafka如何选定分区数量

kafka消费者java版本读取不到消息怎么办

Kafka生产者