一. topic的from-beginning参数

  • 启动zookeeper和kafka

    bin/zkServer.sh start-foregroundbin/kafka-server-start.sh config/server.properties
    
  • 创建topic

    bin/kafka-topics.sh --create --zookeeper localhost:2181 --topic testtopic
    
  • 启动producer和两个consumer

    启动producer

    bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopic
    

    打开两个命令行窗口启动两个consumer

     bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --from-beginning
    
  • 在producer中输入一些字符,可以在consumer中看到已经获取到这些字符。

producer

两个consumer中展示收到的信息

  • 打开第三个命令行窗口,并创建一个新的consumer,不过这次的命令和之前的不太一样

    bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic
    

可以看到,这次在创建consumer时的参数没有--from-beginning。同时,窗口中并没有输出任何信息。

  • 此时在producer中输入新的信息,查看3个consumer的情况:

在producer中新输入will go to London

前两个consumer中完整显示所有信息

第三个consumer只显示了最新产生的will go to London

以上例子可以印证之前的概念:

  1. 多个消费者可以订阅同一个topic。
  2. 参数--from-beginning的作用是使consumer从kafka最早的消息开始消费。

二. 消费者组

在这之前先关闭之前创建的3个consumer窗口。并使用以下命令分别创建2个新的consumer,这次的命令与之前的也稍有不同。

  1. 一个消费者只能属于一个消费者组
  2. 消费者组订阅的topic只能被其中的一个消费者消费
  3. 不同消费者组中的消费者可以消费同一个topic
  • 实例

新开两个命令行窗口,创建2个新的consumer:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --group testgroup

在producer窗口中输入信息,会发现只有一个consumer窗口中有输出。

关闭刚才创建的2个consumer,使用以下2个命令创建2个新的consumer:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --group testgroup1bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --group testgroup2

订阅testtopic的2个consumer分别属于不同的消费者组testgroup1testgroup2,因此2个窗口中都会显示producer产生的消息。

Kafka入门系列—3. 消费者组相关推荐

  1. kafka java api 删除,Kafka:删除闲置的消费者组ID

    In some cases, I use Kafka-stream to model a small in memory (hashmap) projection of a topic. The K, ...

  2. Kafka入门篇学习笔记整理

    Kafka入门篇学习笔记整理 Kafka是什么 Kafka的特性 应用场景 Kafka的安装 单机版部署 集群部署环境准备 Kafka 2.x集群部署 Kafka 3.x集群部署 监听器和内外网络 K ...

  3. Kafka入门(一) 概述、部署与API的简单使用

    Kafka入门(一) 概述.部署与API的简单使用 MQ 传统架构的问题 MQ简介 MQ的优缺点 优点 缺点 同步与异步 P2P模式 订阅发布模式 Kafka概述 简介 特点 名称解释 Broker ...

  4. Kafka 入门教程(超详细)

    文章目录 1. Kafka 概述 1.1 定义 1.2 消息队列 1.2.1 传统消息队列的应用场景 1.2.2 消息队列的两种形式 1.3 Kafka 基础架构 2. Kafka 的安装 2.1 安 ...

  5. Redis Stream的消费者组介绍

    Stream是Redis 5.0引入的一种新数据类型,它以一种抽象的方式来构建日志结构的数据.本文主要介绍Redis Streams的消费者组相关的信息. 1 什么是消费者组 在某些问题中,我们想要做 ...

  6. 消费者组consumer group详解-Kafka从入门到精通(九)

    上篇文章说了,kafka可以通过实现partitioner自定义分区,producer拦截器,拦截器是在producer发送消息之后,回调之前调用,里面主要重写两个方法,一个是onSend,可以重新定 ...

  7. Kafka系列4-基本概念及消费者组(Consumer Group)的理解

    几个基本概念: Kafka是一个分布式流数据系统,使用Zookeeper进行集群的管理.与其他消息系统类似,整个系统由生产者.Broker Server和消费者三部分组成,生产者和消费者由开发人员编写 ...

  8. kafka消费者如何读同一生产者消息_Kafka入门之生产者消费者

    一.Kafka安装与使用 ( kafka介绍     ) 1. 下载Kafka 2. 安装 Kafka是使用scala编写的运行与jvm虚拟机上的程序,虽然也可以在windows上使用,但是kafka ...

  9. Kafka 消费者组 Rebalance 详解

    Rebalance作用 Rebalance 本质上是一种协议,主要作用是为了保证消费者组(Consumer Group)下的所有消费者(Consumer)消费的主体分区达成均衡. 比如:我们有10个分 ...

  10. 大数据技术之kafka (第 3 章 Kafka 架构深入 ) 消费者组案例

    1)需求:测试同一个消费者组中的消费者,同一时刻只能有一个消费者消费.  2)案例实操   (1)在 backupo01.backupo02 上修改/usr/local/hadoop/kafka/ka ...

最新文章

  1. linux下的jsp
  2. SharePoint 出现无法识别的属性“type”
  3. linux怎么改程序图标,如何在Ubuntu Unity上更换应用程序图标
  4. 支持delete吗_Spark Delta Lake 0.4.0 发布,支持 Python API 和部分 SQL
  5. Go使用mgo增删改查聚合操作
  6. 【Python面试】 说说Python模块主要分哪三类?
  7. 随机过程及其稳态stability
  8. vue 集成 Loading 加载效果
  9. Spring Boot快速搭建Web开发框架(Hibernate+Thymeleaf)
  10. Apollo使用ConfigBean装载配置
  11. java day23【函数式接口】
  12. sqlserver高可用方案_PowerJob 的自实现高可用方案,妙妙妙
  13. java万年历报告_java万年历设计报告
  14. python文本处理的几个库_6个高效的语言处理Python库,你用过几个?
  15. 很多程序员编码时都戴耳机,到底在听什么?
  16. 机房监控系统解说—新风机篇
  17. matlab中做出球面和圆柱面,如何用MATLAB在直角坐标系下绘制球面x^2+y^2+z^2=4被柱面(x-1)^2+y^2=1截得的部分曲面.急!谢谢...
  18. 浏览器兼容性笔记(转)
  19. 软件项目外包的合作流程是怎样的?
  20. 2020华为春招--N阶方阵旋转(python)

热门文章

  1. 分数四则运算 python
  2. 数据库--T-SQL创建数据库表
  3. SMILES, a Chemical Language and Information System.【SMILES, 一种化学语言和信息系统。】
  4. 中国计算机设计大赛蔡思琦,建策杯2018年江苏省大学生计算机设计大赛.PDF
  5. torch.flatten
  6. 【乐理学习笔记】音符时值和拍号
  7. php 无父类 用parrent,Leaflet_扩展Leaflet:类(2017-10-26)
  8. python倒计时代码turtle_python实现屏保计时器
  9. SQL Server Management Studio (SSMS)下载,安装以及连接数据库配置
  10. mysql中将数字转化成汉字 基础