zoukankan      html  css  js  c++  java
  • kafka消费者offset存储策略

      由于 consumer 在消费过程中可能会出现断电宕机等故障,consumer 恢复后,需要从故 障前的位置的继续消费,所以 consumer 需要实时记录自己消费到了哪个 offset,以便故障恢 复后继续消费。

      Kafka 0.9 版本之前,consumer 默认将 offset 保存在 Zookeeper 中,从 0.9 版本开始, consumer 默认将 offset 保存在 Kafka 一个内置的 topic 中,该 topic 为__consumer_offsets。

      

      

    2、自定义存储 offset

    Kafka 0.9 版本之前,offset 存储在 zookeeper,0.9 版本及之后,默认将 offset 存储在 Kafka 的一个内置的 topic 中。

    除此之外,Kafka 还可以选择自定义存储 offset。

    offset 的维护是相当繁琐的,因为需要考虑到消费者的 Rebalace。

    当有新的消费者加入消费者组、已有的消费者退出消费者组或者所订阅的主题的分区发生变化,就会触发到分区的重新分配,重新分配的过程叫做 Rebalance

    消费者发生 Rebalance 之后,每个消费者消费的分区就会发生变化。因此消费者要首先 获取到自己被重新分配到的分区,并且定位到每个分区最近提交的 offset 位置继续消费。 要实现自定义存储 offset,需要借助 ConsumerRebalanceListener,其中提交和获取 offset 的方法,需要根据所选的 offset 存储系统自行实现

  • 相关阅读:
    ASP记数器
    Photoshop压缩png图片方法之一
    Drupal的高速缓存配置APC
    各种share button
    兼容iphone、ipad与PC平台的在线视频
    知识组织方法总结
    Virtuemart2 for joomla2.5
    joomla2.5 常用组件
    网上找来经过改良的多级联动下拉菜单
    joomla组件开发中的时区问题
  • 原文地址:https://www.cnblogs.com/wsw-seu/p/13458155.html
Copyright © 2011-2022 走看看