kafka-2.11-2.3.0版本配置文件参数详解_spring kafka 写生产者消费者及参数详解

2e6658687458956a7c2d651621f0ce23.png

Kafka 是目前非常主流的一款 MQ 产品,很多开发人员都使用过,实际场景中经常被用来做系统解耦、消息补偿、日志收集等。如果从零开始写一个生产者、消费者该怎么写呢?安哥写了个 Demo,先不管原理机制,跑通再说。

以下内容主要分为两大块:

1. producer 样例及主要参数详解2. consumer 样例及主要参数详解

spring 提供了 kafka producer 和 consumer 工具,我们可以很方便的实现生产者和消费者。以下是 maven 依赖,注意 spring-kafka 版本一定要和 kafka-clients 版本兼容,不然可能会出现消费不到消息的情况。

org.springframework.boot  spring-boot-starter-web  2.1.0.RELEASEorg.springframework.kafka  spring-kafka  2.2.0.RELEASEorg.apache.kafka  kafka-clients  2.2.0

01. Producer

我们可以通过 spring kafkaTemplate 向 Kafka server 发送消息,发送参数除了 data 之外还有 topic、partition、key 等,非特殊需求我们只需要关注 topic。

partition :指定往哪个分区发送。同一个partition的消息会顺序消费key:key 的 hash 值会作为 partition,并且此值会传递到 Consumer一般顺序消费场景需要设置 key,例如订单号为 key

如果partition、key 都没有设置,则采用轮询的方式向 partition 发送消息。

10b6c9abd86341e09daee8c82675c18a.png

由于 producer 是异步发送消息的,我们不能立刻知道发送结果,spring kafka 提供了 SuccessCallback、FailureCallback 两个接口分别处理成功回调和失败回调。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值