首页 > 后端开发 > Golang > 正文

如何使用 Kafka 10 检索 Go 中的消费者组偏移量?

Barbara Streisand
发布: 2024-10-30 06:17:02
原创
731 人浏览过

How to Retrieve Consumer Group Offsets in Go with Kafka 10?

使用 Kafka 10 检索 Go 中的消费者组偏移量

随着 Kafka 10 的发布,Go Kafka 库 (sarama) 现在提供消费者无需依赖外部库即可对功能进行分组。这就提出了如何检索消费者组正在处理的当前消息偏移量的问题。

解决方案

要获取消费者组偏移量,请按照以下步骤操作:

  1. 实现消费者组信息结构:

    <code class="go">type gcInfo struct {
        offset int64
    }</code>
    登录后复制
  2. 创建消费者组信息处理程序:

    <code class="go">func (g *gcInfo) ConsumeClaim(_ sarama.ConsumerGroupSession, claim sarama.ConsumerGroupClaim) error {
        g.offset = claim.InitialOffset()
        return nil
    }</code>
    登录后复制
  3. 配置并创建消费者组:

    <code class="go">config := sarama.NewConfig()
    config.Consumer.Offsets.AutoCommit.Enable = false
    client, err := sarama.NewConsumerGroup(strings.Split(brokers, ","), groupName, config)</code>
    登录后复制
  4. 消费群组内消息:

    <code class="go">info := gcInfo{}
    if err := client.Consume(ctx, []string{topic}, &amp;info); err != nil {
        return 0, err
    }</code>
    登录后复制
  5. 检索偏移量:

    <code class="go">return info.offset, nil</code>
    登录后复制

以此实现后,您可以在任何给定时间检索特定分区和主题的消费者组偏移量。

以上是如何使用 Kafka 10 检索 Go 中的消费者组偏移量?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!