Kafka高级

02-28 1099阅读

Kafka高级_生产者分区策略

  • 目录
    • 概述
      • 需求:
      • 设计思路
      • 实现思路分析
        • 1.Kafka高级_生产者分区策略
        • 2.Kafka高级_生产者ISR
        • 参考资料和推荐阅读

          Survive by day and develop by night.

          talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive.

          happy for hardess to solve denpendies.

          目录

          Kafka高级

          概述

          需求:

          设计思路

          实现思路分析

          1.Kafka高级_生产者分区策略

          1. 默认分区策略:在没有指定分区策略时,生产者会使用默认的分区策略。默认分区策略是根据消息的键值进行哈希计算,然后将消息分配到对应的分区中。

          2. 自定义分区策略:如果默认的分区策略无法满足需求,可以自定义分区策略。自定义分区策略需要实现org.apache.kafka.clients.producer.Partitioner接口,并重写partition方法。通过自定义分区策略,可以根据自己的业务逻辑来决定消息分配到哪个分区中。

          3. 轮询分区策略:轮询分区策略会按照轮询的方式,依次将消息分配到每个分区中。每次发送消息时,会选择下一个分区,并将消息发送到该分区中。

          4. 随机分区策略:随机分区策略会随机选择一个分区将消息发送到该分区中。

          5. 指定分区策略:可以在发送消息时,通过指定分区ID的方式,直接将消息发送到指定的分区中。

          需要注意的是,自定义分区策略需要在创建生产者时进行配置,并在发送消息时生效。一旦分区策略被指定,所有发送到该生产者的消息将使用该分区策略。

          2.Kafka高级_生产者ISR

          在Kafka中,ISR(In-Sync Replicas)代表了一组同步副本。

          每个分区在 Kafka 中都有一组副本,其中一个副本被标记为 leader,其余副本被称为 follower。当生产者发送消息到 Kafka 集群时,消息首先会被写入到 leader 副本中,并且只有成功写入 leader 副本后,才会认为消息发送成功。

          ISR 则是处于同步状态的 follower 副本的集合。当 leader 副本接收到消息后,它会将消息发送给 ISR 中的所有副本,并等待 ISR 中的副本确认收到消息。只有当 ISR 中的所有副本都确认收到消息后,leader 副本才会认为消息已被复制到足够数量的副本,从而认为消息写入成功,可以返回成功响应给生产者。

          ISR 的存在,保证了数据的可靠性和一致性。如果某个副本不在 ISR 中,说明该副本与 leader 副本的数据不一致,可能有数据丢失或者延迟复制的风险,这时 Kafka 会将该副本从 ISR 中移除,直到该副本追上 leader 副本的进度,再将其加入到ISR中。

          通过配置参数 min.insync.replicas 可以设置 ISR 中的最小副本数。只有当ISR中的副本数达到 min.insync.replicas 数量时,才会返回确认消息给生产者。如果 ISR 中的副本数小于 min.insync.replicas 数量,那么生产者发送的消息请求会一直等待,直到 ISR 中的副本数恢复到阈值为止。

          使用 ISR 机制可以保证消息的可靠性,并且减少数据丢失的风险。但是需要考虑到消息发送的延时,因为在等待 ISR 中的所有副本确认消息之前,生产者会一直阻塞。因此在应用场景中,需要权衡可靠性和性能,并根据实际需求设置合理的 min.insync.replicas 数量。

          参考资料和推荐阅读

          参考资料

          官方文档

          开源社区

          博客文章

          书籍推荐

          欢迎阅读,各位老铁,如果对你有帮助,点个赞加个关注呗!同时,期望各位大佬的批评指正~,如果有兴趣,可以加文末的交流群,大家一起进步哈

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]