【问题标题】:auto.commit.enable property not working expectedauto.commit.enable 属性无法正常工作
【发布时间】:2017-07-12 21:33:36
【问题描述】:

我对这个领域比较陌生,我正在使用高级消费者并使用 confluent api 并通过 curl 和 postman 运行

使用以下步骤:

1) 创建消费组 :POST http://hostname/consumers/test

{
"name": "offset_test_instance4", 
"format": "json", 
"auto.offset.reset": "earliest",
"auto.commit.enable": "false"
}

2) 使用以下 api 分配分区:POST http://hostname/consumers/test/instances/offset_test_instance4/assignments

{
  "partitions": [
    {
      "topic": "ids_mps_channel_permissions",
      "partition": 2
    }
  ]
}

3) 读取内容:GET http://hostname/consumers/test/instances/offset_test_instance4/records?timeout=5000&max_bytes=16777216

我正在从上面的获取请求中获取响应。

但是当我再次击球时,尽管我没有提交任何偏移量,但它给了我新的偏移量,但偏移量仍在继续增加。

由于我禁用了自动提交属性,所以我的理解是在我手动提交之前它不会提交偏移量。

如果我遗漏了什么,请指教。

【问题讨论】:

    标签: apache-kafka confluent-platform


    【解决方案1】:

    这是预期的行为。您不必为了获取新消息而提交偏移量。这些都是独立的东西。您可能会先收到 50 条消息,然后再提交您的偏移量。

    【讨论】:

    • 我不明白答案对不起!为什么即使没有手动提交新的偏移量并且“auto.commit.enable”设置为“false”,这里的偏移量也会自动增加?
    • 有两种类型的偏移量。提交日志中存储的每条消息都有偏移量,对于发布和写入分区的每条消息,它们都会增加 1。然后每个消费者可以分别提交(到一个单独的主题)他们自己的偏移量,它代表他们最后成功处理的消息。如果您阅读 5 条新消息,它们每条都会有 5 个消息偏移量(例如 1、2、3、4、5),即使您只提交了偏移量 1,也是如此。
    猜你喜欢
    • 1970-01-01
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    • 2019-06-03
    • 2021-11-14
    • 2013-09-07
    相关资源
    最近更新 更多