Apache kafka 卡夫卡中消费者水平补偿和消费者群体补偿的差异

Apache kafka 卡夫卡中消费者水平补偿和消费者群体补偿的差异,apache-kafka,kafka-consumer-api,Apache Kafka,Kafka Consumer Api,试图理解消费者中的抵消和消费者群体中的抵消之间的关系 下面的堆栈溢出链接提供了对消费组偏移管理的极好理解。 现在在这里提问 场景: 我们的消费者(c1)属于一个消费群体1 是否偏移值将存储在消费者(c1)和组(1)两个级别?或者,如果消费者将属于任何消费者组,则偏移量将仅存储在消费者组级别 如果偏移值将存储在两个级别中,则消费者级别偏移值将覆盖消费者组级别偏移值 示例 消费者级别偏移值-5 消费者组级别偏移值-8 系统何时从8重新启动 反向: 消费者级别偏移值-8 消费者组级别偏移值-5 当系统

试图理解消费者中的抵消和消费者群体中的抵消之间的关系

下面的堆栈溢出链接提供了对消费组偏移管理的极好理解。
现在在这里提问

场景:

我们的消费者(c1)属于一个消费群体1

  • 是否偏移值将存储在消费者(c1)和组(1)两个级别?或者,如果消费者将属于任何消费者组,则偏移量将仅存储在消费者组级别
  • 如果偏移值将存储在两个级别中,则消费者级别偏移值将覆盖消费者组级别偏移值
  • 示例

    消费者级别偏移值-5 消费者组级别偏移值-8 系统何时从8重新启动

    反向:

    消费者级别偏移值-8 消费者组级别偏移值-5 当系统将从5重新启动时?

    取决于卡夫卡,如果消费者组管理是通过
    group.id
    启用的,则偏移量将存储在消费者组级别,以便在重新平衡时,新消费者可以从偏移量中读取

    如果禁用了消费者组管理,则在“消费”下存储偏移量,如果用户不提供,则默认的
    group.id
    为空,因此在这两个级别上都不可能存储偏移量

    在此版本中,偏移过期语义略有更改。根据新的语义,当组订阅了相应的主题并且仍然处于活动状态(具有活动的使用者)时,不会删除组中分区的偏移量。如果组变为空,则在默认偏移量保留期(或代理设置的时间)过后,将删除其所有偏移量(除非该组再次变为活动状态)。与不使用Kafka group management的独立(简单)使用者关联的偏移量将在其上次提交后超过默认偏移量保留期(或代理设置的时间)后删除

    标识此使用者所属的使用者组的唯一字符串。如果使用者通过使用“订阅”(主题)或基于Kafka的偏移量管理使用组管理功能,则需要此属性 战略

    这取决于卡夫卡,如果使用
    group.id
    启用消费者组管理,则偏移量将存储在消费者组级别,以便在重新平衡时,新消费者可以从偏移量中读取

    如果禁用了消费者组管理,则在“消费”下存储偏移量,如果用户不提供,则默认的
    group.id
    为空,因此在这两个级别上都不可能存储偏移量

    偏移过期语义在此版本中略有更改。根据新语义,当组订阅了相应的主题并且仍然处于活动状态(具有活动的使用者)时,不会删除组中分区的偏移.如果组变为空,则其所有偏移将在默认偏移保留期(或代理设置的偏移)结束后删除(除非组再次变为活动状态)。与不使用Kafka group management的独立(简单)消费者关联的偏移将在默认偏移保留期后删除。(或代理设置的)自上次提交以来已通过

    标识此使用者所属的使用者组的唯一字符串。如果使用者通过使用“订阅”(主题)或基于Kafka的偏移量管理使用组管理功能,则需要此属性 战略

    Type: stringDefault: nullValid Values:Importance: high