Kafka分区、副本机制(二)

本文详细介绍了Kafka的分区和副本机制,包括轮询、随机和按key分区策略,以及如何保证消息消费顺序。此外,还讨论了消费者组的再平衡机制、消费者分区分配策略,以及producer的ACKs参数对消息可靠性的影响。
摘要由CSDN通过智能技术生成

2.Kafka 高级

2.1. 分区和副本机制

2.1.1 分区写入策略

生产者可以写入消息到同批次中,Kafka将会根据不同的策略分配到不同的分区中。

分区策略主要3种:

  1. 轮询分区策略

    • 这是一种默认的策略,也是采用最多的策略。它可以最大限度保证所有的消息平均分配到一个分区中。

    • 当生产者生产消息时,将key设置为 null, 则认为使用轮询算法均匀地分配分区。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yKkRTPXS-1604475558866)(…/…/AppData/Roaming/Typora/typora-user-images/image-20201101143240188.png)]

  1. 随机分区策略

    每次都将消息随机分配到不同的分区中,在较早的版本这,这是默认的分配策略。

  2. 按key分区分配策略

    按key分配策略,可能会出现 数据倾斜 。 例如:某个key包含了大量的数据,因为 key 值一样,所有的数据将分配到一个分区中,造成该分区的消息数量远大于其它的分区。

    这种方式类似于 HashMap 的思想,对key进行hashcode运算,得到的结果再进行取余,然后分配到不同的分区中。

2.1.2 Kafka 如何保证消息的消费顺序有序性?

轮询策略、随机策略都会导致一个问题,生产者生产到Kaf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值