原文地址:https://www.tutorialspoint.com/apache_kafka/apache_kafka_consumer_group_example.htm

消费者群体(group)是来自Kafka主题的多线程或多机器消费。

消费群体

  • 消费者可以通过使用samegroup.id加入一个组。
  • 一个组的最大并行度是该组中的消费者的数量←分区的数量。
  • Kafka将一个主题的分区分配给组中的使用者,以便每个分区仅由组中的一位消费者使用。
  • 卡夫卡保证只有群组中的单个消费者阅读消息。
  • 消费者可以按照存储在日志中的顺序查看消息。
重新平衡消费者

添加更多流程/线程将导致Kafka重新平衡。 如果任何消费者或经纪商未能向ZooKeeper发送心跳,则可以通过Kafka集群重新配置它。 在这种重新平衡期间,Kafka会将可用分区分配给可用线程,可能会将分区移至另一个进程。

import java.util.Properties;
import java.util.Arrays;
import org.apache.kafka.clients.consumer.KafkaConsumer;
import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.apache.kafka.clients.consumer.ConsumerRecord;public class ConsumerGroup {public static void main(String[] args) throws Exception {if(args.length < 2){System.out.println("Usage: consumer <topic> <groupname>");return;}String topic = args[0].toString();String group = args[1].toString();Properties props = new Properties();props.put("bootstrap.servers", "localhost:9092");props.put("group.id", group);props.put("enable.auto.commit", "true");props.put("auto.commit.interval.ms", "1000");props.put("session.timeout.ms", "30000");props.put("key.deserializer",          "org.apache.kafka.common.serializa-tion.StringDeserializer");props.put("value.deserializer", "org.apache.kafka.common.serializa-tion.StringDeserializer");KafkaConsumer<String, String> consumer = new KafkaConsumer<String, String>(props);consumer.subscribe(Arrays.asList(topic));System.out.println("Subscribed to topic " + topic);int i = 0;while (true) {ConsumerRecords<String, String> records = con-sumer.poll(100);for (ConsumerRecord<String, String> record : records)System.out.printf("offset = %d, key = %s, value = %s\n", record.offset(), record.key(), record.value());}     }
}

编译

javac -cp “/path/to/kafka/kafka_2.11-0.9.0.0/libs/*" ConsumerGroup.java

执行

>>java -cp “/path/to/kafka/kafka_2.11-0.9.0.0/libs/*":.
ConsumerGroup <topic-name> my-group
>>java -cp "/home/bala/Workspace/kafka/kafka_2.11-0.9.0.0/libs/*":.
ConsumerGroup <topic-name> my-group

在这里,我们创建了一个样本组名称作为my-group与两个消费者。 同样,您可以在组中创建您的组和消费者数量。

输入

打开生产者CLI并发送一些消息,如 -

Test consumer group 01
Test consumer group 02

第一个过程的输出

Subscribed to topic Hello-kafka
offset = 3, key = null, value = Test consumer group 01

第二个过程的输出

Subscribed to topic Hello-kafka
offset = 3, key = null, value = Test consumer group 02

现在希望你能通过使用Java客户端演示了解SimpleConsumer和ConsumeGroup。 现在您已经了解了如何使用Java客户端发送和接收消息。 让我们在下一章继续卡夫卡与大数据技术的整合。

Apache Kafka教程A系列:消费者群体示例相关推荐

  1. Apache Kafka教程A系列:简单生产者示例

    原文地址:https://www.tutorialspoint.com/apache_kafka/apache_kafka_simple_producer_example.htm 让我们创建一个使用J ...

  2. Apache Kafka教程A系列:实时应用程序(Twitter)

    原文地址:https://www.tutorialspoint.com/apache_kafka/apache_kafka_real_time_application.htm 让我们分析一个实时应用程 ...

  3. Spring Apache Kafka教程

    在本SpringApache Kafka课程中,我们将学习如何在Spring Boot项目中开始使用Apache Kafka,并开始生成和使用我们所选主题的消息. 除了一个简单的项目外,我们还将深入探 ...

  4. Apache Kafka教程--Kafka新手入门

    Apache Kafka教程–Kafka新手入门 Kafka Assistant 是一款 Kafka GUI 管理工具--管理Broker,Topic,Group.查看消费详情.监控服务器状态.支持多 ...

  5. Apache Kafka教程

    1.卡夫卡教程 今天,我们正在使用Apache Kafka Tutorial开始我们的新旅程.在这个Kafka教程中,我们将看到什么是Kafka,Apache Kafka历史以及Kafka的原因.此外 ...

  6. Windows OS上安装运行Apache Kafka教程

    Windows OS上安装运行Apache Kafka教程 下面是分步指南,教你如何在Windows OS上安装运行Apache Zookeeper和Apache Kafka. 简介 本文讲述了如何在 ...

  7. apache kafka技术分享系列(目录索引)--转载

    原文地址:http://blog.csdn.net/lizhitao/article/details/39499283 kafka开发与管理: 1)apache kafka消息服务 2)kafak安装 ...

  8. apache kafka技术分享系列(目录索引)

    apache Kafka中国QQ社区 中国社区QQ群1:162272557 未满  收费5¥,保证QQ运营,腾讯QQ VIP收年费,2000人群非常活跃,质量很高 中国社区QQ群2:414762562 ...

  9. 从现在开始学 Kafka:SpringBoot 集成 Kafka,生产者与消费者示例

    从现在开始学 Kafka:SpringBoot 集成 Kafka,生产者与消费者示例 前言 加依赖 生产者 加配置 生产者代码示例 消费者 加配置 消费者监听器示例 调用 关于 Serializer ...

最新文章

  1. 美丽新世界:这七个原因将让未来更美好
  2. PHP中的else怎么用,php中ifelse与elseif使用区别实例介绍
  3. nginx搭建文件服务器脚本,nginx搭建web服务器,配置端口复用
  4. openfire client聊天消息交互和存储离线(在线)消息记录策略
  5. ISA Server 2004 0x80004005错误
  6. 自然语言处理——词嵌入
  7. linux命令的-和--参数问题
  8. c语言创建线程代码,如何用C语言实现多线程
  9. SpringBoot 中 get/post 请求处理方式,以及requestboy为Json时的处理
  10. 开源阅读书源_阅读——开源阅读软件
  11. Java开发 明华usbkey_v3 明华二次开发包,usbkey 内有很多demo程序。 USB develop 238万源代码下载- www.pudn.com...
  12. cad lisp程序大集_AUTO CAD 命令大集
  13. c语言蜂鸣器放音乐程序,单片机蜂鸣器C语言程序
  14. 史上最完整基于Springboot实现进销存管理系统
  15. Android面试必问之Handler机制
  16. NAT ALG PPTP实现简要分析
  17. Python爬虫:给我一个链接,虎牙视频随便下载
  18. uniapp中,H5端使用html2canvas生成海报
  19. 如何在本地电脑上搭建AI人工智能绘画工具Stable Diffusion
  20. 【计算机网络】可靠传输

热门文章

  1. 【测试】软件测试概念
  2. 电脑搜不到自家wifi
  3. c语言程序设计阶乘输出,C语言编写10的阶乘,用C语言编程求10的阶乘
  4. 两张电梯卡到期时间是哪天?哪种加密方法?
  5. vulhub靶场-weblogic漏洞复现
  6. 拉伯证券|网游概念再度走强,游族网络、慈文传媒涨停
  7. 超级辣鸡的编程学习之旅 之 第一篇~~
  8. 频频曝出程序员被抓,我们该如何避免面向“监狱”编程?
  9. java 自适应屏幕_自适应屏幕的CSS响应式布局设计技巧总结
  10. 新能源SUV硬刚燃油车?国产造车新势力哪吒U Pro试驾体验