博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Consumer group理解深入
阅读量:5875 次
发布时间:2019-06-19

本文共 707 字,大约阅读时间需要 2 分钟。

  每一个consumer实例都属于一个consumer group,每一条消息只会被同一个consumer group里的一个consumer实例消费。(不同consumer group可以同时消费同一条消息)

  
  很多传统的message queue都会在消息被消费完后将消息删除,一方面避免重复消费,另一方面可以保证queue的长度比较少,提高效率。而如上文所将,Kafka并不删除 已消费的消息,为了实现传统message queue消息只被消费一次的语义,Kafka保证保证同一个consumer group里只有一个consumer会消费一条消息。与传统message queue不同的是,Kafka还允许不同consumer group同时消费同一条消息,这一特性可以为消息的多元化处理提供了支持。实际上,Kafka的设计理念之一就是同时提供离线处理和实时处理。根据这一 特性,可以使用Storm这种实时流处理系统对消息进行实时在线处理,同时使用Hadoop这种批处理系统进行离线处理,还可以同时将数据实时备份到另一 个数据中心,只需要保证这三个操作所使用的consumer在不同的consumer group即可。
  
  说明:创建一个topic (名为topic1),创建一个属于group1的consumer实例,并创建三个属于group2的consumer实例,然后通过producer 向topic1发送key分别为1,2,3r的消息。结果发现属于group1的consumer收到了所有的这三条消息,同时group2中的3个 consumer分别收到了key为1,2,3的消息。

转载地址:http://okkix.baihongyu.com/

你可能感兴趣的文章
Java - 在WebService中使用Client调用三方的RestAPI
查看>>
Linux 装 Python3.6
查看>>
字典及datetime模块
查看>>
常见的web服务器
查看>>
Android操作系统漏洞允许***者跟踪用户位置
查看>>
一般人不知道的SEO术语!!!
查看>>
Java 本地环境设置
查看>>
Centos yum 安装zabbix3.4
查看>>
Java日期时间操作源码示例大全
查看>>
TCP三次握手
查看>>
初学者最常问的几个问题,别问了看这里!
查看>>
python入门系列:Python socket编程
查看>>
三年内拿下众多500强客户,观远数据这家新兴BI厂商有哪些大杀器?
查看>>
Redux + (RxKotlin | RxSwift) =很棒的本地移动应用程序
查看>>
蛋花花浅谈人工智能主要应用于哪些方面
查看>>
MIME类型大全
查看>>
我的友情链接
查看>>
global_name启用以及修改规则
查看>>
我的友情链接
查看>>
我的友情链接
查看>>