springboot配置手动提交_Springboot系列之kafka操作

本文详细介绍了Springboot中Kafka的使用,包括Kafka的基础概念,如流处理、分区和复制,以及消费者的各种消费模式。讨论了Springboot中配置Kafka的实践,如自动和手动提交偏移量、事务支持、消费者监听和消息验证。还提到了使用KafkaTemplate发送消息、处理异常和批处理监听,并分享了在Springboot中使用Kafka可能遇到的问题和解决方案。
摘要由CSDN通过智能技术生成

kafka简介

ApacheKafka®是一个分布式流媒体平台。有三个关键功能:

发布和订阅记录流,类似于消息队列或企业消息传递系统。

以容错的持久方式存储记录流。

记录发生时处理流。

Kafka通常用于两大类应用:

构建可在系统或应用程序之间可靠获取数据的实时流数据管道

构建转换或响应数据流的实时流应用程序

kafka概念

(1)什么是流处理?

所谓流处理,我的理解是流水线处理。例如,电子厂每个人负责一个功能,来了就处

理,不来就等着。

(2)partition和replication和broker有关吗?

partition和replication是分区和备份的概念。即使是单机一个broker也一样

支持。

(3)consumer如何设置和存储partition的offset偏移量,有哪几种消费模式,怎么确定消息是否被消费,将偏移量移到前面会立即消费到最后吗?

使用KafkaConsumer设置partition和offset。有自动提交和手动ack模式提交

偏移量两种消费方式。将偏移量移到前面需要设置成为消费状态会立即被消费(设置

新消费组)。

(4)AckMode模式有哪几种?

RECORD:处理记录后,侦听器返回时提交偏移量

BATCH:在处理poll()返回的所有记录时提交偏移量

TIME:只要已超过自上次提交以来的ackTime,就会在处理poll()返回的所有记录时提交偏移量

COUNT:只要自上次提交以来已收到ackCount记录,就会在处理poll()返回的所有记录时提交偏移量

COUNT_TIME:与TIME和COUNT类似,但如果任一条件为真,则执行提交

MANUAL:消息监听器负责确认()确认。 之后,应用与BATCH相同的语义

MANUAL_IMMEDIATE:当侦听器调用Acknowledgment.acknowledge()方法时,立即提交偏移量

Springboot使用kafka

(1)注入NewTopic自动在broker中添加topic

@Bean

publ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值