Kafka入门系列—3. 消费者组
一. 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
以上例子可以印证之前的概念:
- 多个消费者可以订阅同一个topic。
- 参数
--from-beginning
的作用是使consumer从kafka最早的消息开始消费。
二. 消费者组
在这之前先关闭之前创建的3个consumer窗口。并使用以下命令分别创建2个新的consumer,这次的命令与之前的也稍有不同。
- 一个消费者只能属于一个消费者组
- 消费者组订阅的topic只能被其中的一个消费者消费
- 不同消费者组中的消费者可以消费同一个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分别属于不同的消费者组testgroup1
和testgroup2
,因此2个窗口中都会显示producer产生的消息。
Kafka入门系列—3. 消费者组相关推荐
- 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, ...
- Kafka入门篇学习笔记整理
Kafka入门篇学习笔记整理 Kafka是什么 Kafka的特性 应用场景 Kafka的安装 单机版部署 集群部署环境准备 Kafka 2.x集群部署 Kafka 3.x集群部署 监听器和内外网络 K ...
- Kafka入门(一) 概述、部署与API的简单使用
Kafka入门(一) 概述.部署与API的简单使用 MQ 传统架构的问题 MQ简介 MQ的优缺点 优点 缺点 同步与异步 P2P模式 订阅发布模式 Kafka概述 简介 特点 名称解释 Broker ...
- Kafka 入门教程(超详细)
文章目录 1. Kafka 概述 1.1 定义 1.2 消息队列 1.2.1 传统消息队列的应用场景 1.2.2 消息队列的两种形式 1.3 Kafka 基础架构 2. Kafka 的安装 2.1 安 ...
- Redis Stream的消费者组介绍
Stream是Redis 5.0引入的一种新数据类型,它以一种抽象的方式来构建日志结构的数据.本文主要介绍Redis Streams的消费者组相关的信息. 1 什么是消费者组 在某些问题中,我们想要做 ...
- 消费者组consumer group详解-Kafka从入门到精通(九)
上篇文章说了,kafka可以通过实现partitioner自定义分区,producer拦截器,拦截器是在producer发送消息之后,回调之前调用,里面主要重写两个方法,一个是onSend,可以重新定 ...
- Kafka系列4-基本概念及消费者组(Consumer Group)的理解
几个基本概念: Kafka是一个分布式流数据系统,使用Zookeeper进行集群的管理.与其他消息系统类似,整个系统由生产者.Broker Server和消费者三部分组成,生产者和消费者由开发人员编写 ...
- kafka消费者如何读同一生产者消息_Kafka入门之生产者消费者
一.Kafka安装与使用 ( kafka介绍 ) 1. 下载Kafka 2. 安装 Kafka是使用scala编写的运行与jvm虚拟机上的程序,虽然也可以在windows上使用,但是kafka ...
- Kafka 消费者组 Rebalance 详解
Rebalance作用 Rebalance 本质上是一种协议,主要作用是为了保证消费者组(Consumer Group)下的所有消费者(Consumer)消费的主体分区达成均衡. 比如:我们有10个分 ...
- 大数据技术之kafka (第 3 章 Kafka 架构深入 ) 消费者组案例
1)需求:测试同一个消费者组中的消费者,同一时刻只能有一个消费者消费. 2)案例实操 (1)在 backupo01.backupo02 上修改/usr/local/hadoop/kafka/ka ...
最新文章
- linux下的jsp
- SharePoint 出现无法识别的属性“type”
- linux怎么改程序图标,如何在Ubuntu Unity上更换应用程序图标
- 支持delete吗_Spark Delta Lake 0.4.0 发布,支持 Python API 和部分 SQL
- Go使用mgo增删改查聚合操作
- 【Python面试】 说说Python模块主要分哪三类?
- 随机过程及其稳态stability
- vue 集成 Loading 加载效果
- Spring Boot快速搭建Web开发框架(Hibernate+Thymeleaf)
- Apollo使用ConfigBean装载配置
- java day23【函数式接口】
- sqlserver高可用方案_PowerJob 的自实现高可用方案,妙妙妙
- java万年历报告_java万年历设计报告
- python文本处理的几个库_6个高效的语言处理Python库,你用过几个?
- 很多程序员编码时都戴耳机,到底在听什么?
- 机房监控系统解说—新风机篇
- matlab中做出球面和圆柱面,如何用MATLAB在直角坐标系下绘制球面x^2+y^2+z^2=4被柱面(x-1)^2+y^2=1截得的部分曲面.急!谢谢...
- 浏览器兼容性笔记(转)
- 软件项目外包的合作流程是怎样的?
- 2020华为春招--N阶方阵旋转(python)
热门文章
- 分数四则运算 python
- 数据库--T-SQL创建数据库表
- SMILES, a Chemical Language and Information System.【SMILES, 一种化学语言和信息系统。】
- 中国计算机设计大赛蔡思琦,建策杯2018年江苏省大学生计算机设计大赛.PDF
- torch.flatten
- 【乐理学习笔记】音符时值和拍号
- php 无父类 用parrent,Leaflet_扩展Leaflet:类(2017-10-26)
- python倒计时代码turtle_python实现屏保计时器
- SQL Server Management Studio (SSMS)下载,安装以及连接数据库配置
- mysql中将数字转化成汉字 基础