kafka Streams消费最新的消息

这里写自定义目录标题


先说结论:kafka Streams组件并不支持通过制定的参数配置进行直接消费最新消息,即使是全新的消费者组,也就是参数 application-id设置为从来没用过的,也无法消费最新的消息,但是从另一个角度去思考,如果把就消息都消费完了,那么该 application-id的消费者不就可以消费到最新的消息了吗?是的,该思路是目前比较有效的手段,做法是需要在业务逻辑上兼容处理过去的消息,待kafka streams应用消费完旧消息,后续监听到的消息就为新消息。

引入maven

<dependencies>
    <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka_2.13</artifactId>
        <version>2.8.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka-streams</artifactId>
        <version>2.8.1</version>
    </dependency>
</dependencies>

问题

虽然消费了旧消息就可以消费新消息,但是在有些场景下,默认的消费配置并不能跟得上生产的速度,或者需要消费很久才能把堆积的消息消费完,因此在一些配置上需要做一些变动,不适用默认配置项。
经实测:更改一些默认配置项可以改变消费速度【接受消息的容量】,从单线程1s3000条消息消费提升至1s30000条左右的消息,由于当时该改动已经符合我的需求,便没有将配置值设置的特别大。

基础配置建立

这里进行了简单的配置,其中比较重要的是后续的两个参数

import org.apache.kafka.common.serialization.Serdes;
import
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值