几种不同的注册方式

  1. subscribe方式:当主题分区数量变化或者consumer数量变化时,会进行rebalance;
  2. 注册rebalance监听器,可以手动管理offset
  3. 不注册监听器,kafka自动管理
  4. assign方式:手动将consumer与partition进行对应,kafka不会进行rebanlance

关键配置及含义

enable.auto.commit 是否自动提交自己的offset值;默认值时true

auto.commit.interval.ms 自动提交时长间隔;默认值时5000 ms

consumer.commitSync(); offset提交命令;

默认配置

采用默认配置情况下,既不能完全保证At-least-once 也不能完全保证at-most-once;

比如:

在自动提交之后,数据消费流程失败,这样就会有丢失,不能保证at-least-once;

数据消费成功,但是自动提交失败,可能会导致重复消费,这样也不能保证at-most-once;

但是将自动提交时长设置的足够小

kafka消费的三种模式_kafka消费者的三种模式(最多/最少/恰好消费一次)相关推荐

  1. Java多线程学习三:有哪几种实现生产者消费者模式的方法

    我们先来看看什么是生产者消费者模式,生产者消费者模式是程序设计中非常常见的一种设计模式,被广泛运用在解耦.消息队列等场景.在现实世界中,我们把生产商品的一方称为生产者,把消费商品的一方称为消费者,有时 ...

  2. 深入浅出系列之 -- kafka消费者的三种语义模型

    本文主要详解kafka client的使用,包括kafka消费者的三种消费语义at-most-once,at-least-once,和exact-once message,生产者的使用等. 创建主题 ...

  3. 【Kafka】Kafka消费者组三种分区分配策略roundrobin,range,StickyAssignor

    文章目录 1. 分配策略 1.1 Range(默认策略) 1.2 RoundRobin RoundRobin的两种情况 1.3 StickyAssignor 2. Range策略演示 参考 相关文章 ...

  4. Kafka消费者组三种分区分配策略roundrobin,range,StickyAssignor

    一个consumer group中有多个consumer,一个 topic有多个partition,所以必然会涉及到partition的分配问题,即确定那个partition由哪个consumer来消 ...

  5. 实现生产者消费者的三种方式

    文章目录 wait/notify的消息通知机制 预备知识 wait/notify消息通知潜在的一些问题 notify过早通知 等待wait的条件发生变化 假死状态 wait/notifyAll实现生产 ...

  6. kafka消费者如何读同一生产者消息_Kafka消费者生产者实例

    为了更为直观展示Kafka的消息生产消费的过程,我会从基于Console和基于Application两个方面介绍使用实例.Kafka是一个分布式流处理平台,具体来说有三层含义: 它允许发布和订阅记录流 ...

  7. AKHQ:用于Apache Kafka管理主题、主题数据、消费者组、模式注册表、连接等的Kafka GUI。。。

    参考文章:https://www.5axxw.com/wiki/content/q7nyiu AKHQ(以前称为KafkaHQ) 用于Apache Kafka管理主题.主题数据.消费者组.模式注册表. ...

  8. 创建三个并发进程linux,Linux下几种并发服务器的实现模式(详解)

    1>单线程或者单进程 相当于短链接,当accept之后,就开始数据的接收和数据的发送,不接受新的连接,即一个server,一个client 不存在并发. 2>循环服务器和并发服务器 1.循 ...

  9. 交换机的端口工作模式一般可以分为三种:Access,Multi,Trunk。

    交换机的端口工作模式一般可以分为三种:Access,Multi,Trunk(树干). trunk模式的端口用于交换机与交换机,交换机与路由器,大多用于级联网络设备. Access多用于接入层也叫接入模 ...

最新文章

  1. hdu 3046(最小割)
  2. python可以做什么工作好-会python语言能做什么工作
  3. Java中常见的集合框架
  4. 敏捷软件开发实践-Sprint Status Track
  5. Linux下查看文件和文件夹大小的df和du命令
  6. ubuntu切换root用户
  7. 要求做一个从网页上导入excel
  8. 【华为云技术分享】华为云MySQL新增MDL锁视图特性,快速定位元数据锁问题
  9. 云原生是趋势吗?学习 K8s 和 Docker 的意义在哪里?
  10. pytorch CNN
  11. Unity3D 拆包工具 AssetStudio 编译构建
  12. 从留言簿开始,学习MonoRail MVC(三)
  13. 朗文词典第五版安装详细步骤
  14. Access2016学习8
  15. 如何随意切换Python版本
  16. Feign整合Sentinel 开启 feign.sentinel.enabled=true 启动报错
  17. 兜兜转转解决office和visio不能同时安装的问题
  18. JavavEE中网络编程Socket套接字Ⅱ(TCP)
  19. Python公历转换农历及简易万年历
  20. 从位图图像中读取2D纹理(C ++,OpenGL)

热门文章

  1. 资产组合管理中有哪些基础概念?
  2. 《如何搭建小微企业风控模型》第十二节 模型检验 节选
  3. 在创建触发器时出现不能在 'inserted' 表和 'deleted' 表中使用 text、ntext 或 image 列...
  4. 【bzoj 4675】 点对游戏
  5. [读书笔记]读《Effective Objective-C 2.0编写高质量iOS与OS X代码的52个有效方法》(一)...
  6. 命运(HDU 2571 简单动态规划)
  7. 终章 - 软件工程实践总结作业
  8. 海天味业打造高端调味品领衔食品美味
  9. HDU 1158 Employment Planning【DP】
  10. 【J2me3D系列学习文章之三】(立即模式)对立方体进行变换操作-旋转、缩放、平移...