Kafka入门之consumer
offset存放在_consumer_offsets这个topic下
并且从0-49划分了50个分区:

consumer会在kafka集群的所有broker中选择一个broker作为consumer group的coordinator,用于实现组成员管理,消费分配方案制定以及提交位移等。
consumer提交位移的主要机制是通过向所属的coordinator发送位移提交请求来实现的。每个位移提交请求都会往_consumer_offsets对应分区上追加写入一条消息。
默认情况下,consumer是自动提交位移的,自动提交间隔是5秒,通过设置auto.commit.interval.ms参数可以控制自动提交的间隔.
参数:
bootstrap.servers:和producer一样多组逗号分隔,不管制定了几台机器,consumer启动后都能通过这些机器找到完整的broker列表,因此为该参数指定多台机器通常只是为了常规的failover使用。这样即使某一台broker挂掉了,consumer重启后依然能够通过该参数指定的其他broker连接kafka集群。
group.id:默认值空字符串,需显示指定,否则抛出invaildGroupIdException异常。
key.deserializer
value.deserializer
session.timeout.ms:非常重要的参数之一。
是consumer group检测组内成员发送崩溃的时间。假设设置5分钟,则当某个成员突然崩溃了,管理group的kafka组件coordinator有可能需要5分钟才能感知到这个崩溃。
另一重含义:consumer消息处理逻辑的最大时间--倘若consumer两次poll之间的间隔超过了该参数设置的阀值,那么coordinator就会认为这个consumer已经追不上组内其他成员的消费进度了。因此会将该consumer“踢出”组,改该consumer负责的分区也会被分配给其他consumer。
0.10.1.0版本拆分为 session.timeout.ms和max.poll.interval.ms,默认10秒。
max.poll.interval.ms:如上
auto.offset.reset:制定了无位移信息或者位移越界(即consumer要消费的消息的位移不再当前消息的日志合理区间范围)时,kafka的应对策略。earliest/latest/none
enable.auto.commit:该参数指定consumer是否自动提交位移
fetch.max.bytes:它指定了consumer端单次获取数据的最大子节数。
max.poll.records:默认500,控制单次poll调用返回的最大消息数。
heartbeat.interval.ms:当coordinate决定开启新一轮rebalance时,它会将这个决定以RWBALANCE_IN_PROGRESS异常的形式“塞进”consumer心跳请求的response中,这样其他成员拿到response后才能知道它需要重新加入group。这个过程越快越好,而这个参数就是用来做这件事情的。推荐设置一个比较低的值,让group下的其他consumer成员能够更快的感知新一轮rebalance开启了。
connections.max.idle.ms:kafka会定期的关闭空闲socket连接导致下一次consumer处理请求时需要重新创建连向broker的Socket连接。默认9分钟比较推荐设为-1,即不要关闭这些空闲连接
Kafka入门之consumer的更多相关文章
- kafka入门:简介、使用场景、设计原理、主要配置及集群搭建(转)
问题导读: 1.zookeeper在kafka的作用是什么? 2.kafka中几乎不允许对消息进行"随机读写"的原因是什么? 3.kafka集群consumer和producer状 ...
- 【Kafka入门】Kafka基础结构和知识
基本概念的总结 在基本的Kafka架构中,producer将消息发布到Kafka话题中,一个Kafka话题通常指消息的类别或者名称,Kafka话题被集群中一个充当Kafka server角色的 bro ...
- kafka 入门笔记 #1
kafka 入门笔记(#1) 单机测试 下载版本,解压 tar -xzf kafka_2.11-0.10.1.1.tgz cd kafka_2.11-0.10.1.1 启动服务 Kafka用到了Zoo ...
- Kafka入门介绍
1. Kafka入门介绍 1.1 Apache Kafka是一个分布式的流平台.这到底意味着什么? 我们认为,一个流平台具有三个关键能力: ① 发布和订阅消息.在这方面,它类似一个消息队列或企业消息系 ...
- Kafka入门 --安装和简单实用
一.安装Zookeeper 参考: Zookeeper的下载.安装和启动 Zookeeper 集群搭建--单机伪分布式集群 二.下载Kafka 进入http://kafka.apache.org/do ...
- [Hadoop大数据]--kafka入门
问题导读: 1.zookeeper在kafka的作用是什么? 2.kafka中几乎不允许对消息进行“随机读写”的原因是什么? 3.kafka集群consumer和producer状态信息是如何保存的? ...
- 转 Kafka入门经典教程
Kafka入门经典教程 http://www.aboutyun.com/thread-12882-1-1.html 问题导读 1.Kafka独特设计在什么地方?2.Kafka如何搭建及创建topic. ...
- Kafka 入门和 Spring Boot 集成
目录 Kafka 入门和 Spring Boot 集成 标签:博客 概述 应用场景 基本概念 基本结构 和Spring Boot 集成 集成概述 集成环境 kafka 环境搭建 Spring Boot ...
- _00017 Kafka的体系结构介绍以及Kafka入门案例(0基础案例+Java API的使用)
博文作者:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...
随机推荐
- Alibaba Spring Cloud 微服务介绍(一)
" Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案.此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件 ...
- Java学习的第五十二天
1.例9.4对象数组的使用方法 public class Cjava { public static void main(String[]args) { Box b[] = {new Box(10,1 ...
- QQ 邮箱日历提醒
偶然发现 QQ 邮箱有日历的功能,而且可以设置农历并且每年邮件 + 短信 + 微信提醒.这下重要的日子(eg:生日...)就不会忘记啦! 1.找到日历 2.历史提醒 3.新建时间 4.设置时间 5.勾 ...
- CSS中的position属性笔记
一般有5个属性,分别是:static,absolute,relative,fixed,inherit static 自然定位:这个是默认值,没有定位,再设置top,rignt,bottom,left会 ...
- PASS模型-第一周个人总结
目录 PASS模型-第一周个人报告 1.个人任务 2.个人工作内容 2.1 登陆界面 2.2 信息采集 2.3 视觉搜索 3.个人小结 3.1 收获 3.2 优化 PASS模型-第一周个人报告 博客班 ...
- Magic Method
Python 的 Magic Method 在 Python 中,所有以 "__" 双下划线包起来的方法,都统称为"魔术方法".比如我们接触最多的 __init ...
- 用数组实现队列(顺序队列&循环队列)
用数组实现队列(顺序队列&循环队列) 顺序队列 ️ 队列(先进先出) 几个问题: 队列方法:入队.出队 队列的存储:即队首队尾两个指针, 扩容:如果队列容量不够了,应该扩容,如果队尾没有位置了 ...
- 聊聊Spark的分区、并行度 —— 前奏篇
通过之前的文章[Spark RDD详解],大家应该了解到Spark会通过DAG将一个Spark job中用到的所有RDD划分为不同的stage,每个stage内部都会有很多子任务处理数据,而每个sta ...
- ubutun 服务器中文设置
在连接到服务器时,我们看不到图形界面,按照常规的安装搜狗输入法行不通,查阅相关的资料找到一篇可以解决的 sudo apt-get update 如果出现 E: 无法下载 404 Not Found I ...
- 你要的SSM(Spring+Springmvc+Mybatis)小项目来了!!!
SSM-Maven-Heima 这是一个使用 SSM(Spring+Springmvc+Mybatis)框架的商城小项目,使用Maven构建项目,以MySQL为数据库系统,Redis的缓存服务器(并不 ...