1.Consumer优化:心跳线程可作为后台线程,提交offset,剥离出poll函数

问题:0.10新设计的consumer是单线程的,提交offset是在poll中。本次的poll调用,提交上次poll的心跳和offset值。

The options for the user at the moment to handle this problem are the following:

Increase the session timeout to give more time for record processing.
Reduce the number of records handled on each iteration with max.poll.records.
0.10.1.1 推荐的配置

session.timeout.ms: 10smax.poll.interval.ms: 5minmax.poll.records: 500
2.log retention 日志保留

粒度更细

old:根据segment的创建时间来删除
new:根据message的timestamp来删除
3.Offset和Time Index索引

由于引进了基于Time的索引策略,多了1.5x的存储空间,所以请增大索引文件的大小,防治频繁的rolling。log.index.size.max.bytes

由于加载的东西变多了,broker的启动时间变长了,设置num.recovery.threads.per.data.dir=1 ,可以减少启动时间。

4.重要的改变:0.10.1.0

The new Java Consumer now allows users to search offsets by timestamp on partitions.
The new Java Consumer now supports heartbeating from a background thread.

5.New Protocol Versions

ListOffsetRequest v1 supports accurate offset search based on timestamps.
MetadataResponse v2 introduces a new field: “cluster_id”.
FetchRequest v3 supports limiting the response size (in addition to the existing per partition limit), it returns messages bigger than the limits if required to make progress and the order of partitions in the request is now significant.
JoinGroup v1 introduces a new field: “rebalance_timeout”.
6. Kafka Server主要的特性

Time-based Search(基于timeStamp的搜索):可以根据timestamp来消费topic
Replication Quotas(副本带宽限制):可以限制replica拉取的带宽,减少对消费者、生产者的影响。
Improved Log Compaction(提升日志压缩):以前,consumer无法分辨哪些日志是压缩的、还是不压缩的。
对这个详细看看:
对一个consumer而言,如果它lag在一定范围内,那么它能够获得每一条压缩的消息。

对于我的理解,第三条是为了基于精确的时间清理日志而用的。那个关于 database replication 的用法-没有看懂

两个参数的含义:

log.cleaner.min.compaction.lag.ms :The minimum time a message will remain uncompacted in the log. Only applicable for logs that are being compacted. 默认值是0. 日志中保留未压缩的message的最小时间。(超过这个时间的日志都是压缩的)
min.compaction.lag.ms : topic级别的配置属性(上面那个是Server级别的配置。topic的配置可以覆盖server 的配置。)
7.Kafka Client APIs 主要的特性

Interactive Queries(交互式查询): Kafka Streaming的特性
Consumer Stabilization(稳定性):支持background 心跳,让poll之后,message的处理时间更加宽裕
对这个详细看看,

old参数:

max.partition.fetch.bytes 用来限制每次consumer fetch数据的大小限制,只是限制partition的,无法限制到一次拉取的总量,有潜在的一次拉取几个GB的可能。
new参数:

fetch.max.bytes = 50MB: 限制整个consumer client 一次拉取的总量
replica.fetch.response.max.bytes = 10MB : 限制replica拉取线程的 一次拉取量。
new参数能否限制多线程拉取的总量,需要测试测试。即:如果我启动2个consumer 能否把fetch的量达到100MB。

Improved memory management(提升内存管理):关于Kafka Stream的
Secure Quotas(安全提升):以前有权限认证管理,现在可以限制Producer和Consuemr的流量了。
目前是静态配置文件,动态加载的正在讨论中~~~
“`
// Default bytes-out per consumer.
quota.consumer.default=2M
quota.producer.default=2M
// Overrides
quota.producer.override=”clientA:4M,clientB:10M”
quota.consumer.override=”clientC:3M,clientD:5M”

Kafka 0.10.1.1 特点相关推荐

  1. 2021年大数据Spark(四十三):SparkStreaming整合Kafka 0.10 开发使用

    目录 整合Kafka 0-10-开发使用 原理 1.Direct方式 2.简单的并行度1 : 1 ​​​​​​​API 注意 ​​​​​​​代码实现-自动提交偏移量到默认主题 ​​​​​​​代码实现- ...

  2. kafka 0.10.0.0 版本

    kafka 0.10.0.0 版本 一.安装kafka 1)下载路径:http://apache.fayea.com/kafka/0.10.0.0/kafka_2.11-0.10.0.0.tgz 2) ...

  3. Spark Streaming 2.0 读取Kafka 0.10 小例子

    环境版本: Scala 2.11.8; Kafka 0.10.0.1; Spark 2.0.0 如需Scala 2.10.5; Spark 1.6.0; Kafka 0.10.0.1版本请看这篇:Fl ...

  4. Kafka 0.10.0文档翻译二

    1.快速开始 本教程假设你从零开始,没有已存在的Kafka或zk数据 1.1 下载代码 下载 0.10.0.0 release版本,并解压 > tar -xzf kafka_2.11-0.10. ...

  5. kafka 0.10.0 producer java代码实现

    首先导入包 将kafka目录下的libs中的jar包导入 用maven建立 <dependency><groupId>org.apache.kafka</groupId& ...

  6. 【kafka】kafka 0.10以及1.x版本的kafka topic 分区扩容

    文章目录 1.概述 1.1 replicaAssignmentStr为空 1.2 指定副本 1.概述 因为需要所以需要一个程序对kafka进行扩容处理 然后写了一个方法如下 /**** @param ...

  7. 【Kafka】kafka 0.10.0 isr 不为空 但是不一致 导致获取消费组异常

    本文为博主九师兄(QQ:541711153 欢迎来探讨技术)原创文章,未经允许博主不允许转载.有问题可以先私聊我,本人每天都在线,会帮助需要的人. 文章目录 1.背景 2.分析 2.1 实际源码 3. ...

  8. 【Kafka】kafka 0.10.0 版本低级消费 API

    文章目录 1.概述 2.内容 3.代码实现 3.1 Java Project 3.2 Maven Project 3.3 代码实现 4.总结 5.案例2 1.概述 在 Kafka 中,官方对外提供了两 ...

  9. 【Kafka】Kafka 0.10.0版本获取Kafka每个分区最新Offset的几种方法

    1.概述 脚本方法 [root@1 kafka]# ./bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list xxx:9092

  10. 【kafka】 kafka 0.10报错IOException: Connection to 1 was disconnected before the response was read

    文章目录 1.美图 2.背景 3.问题排查 4.问题在线之-docker 新进展 缓解 6.场景再现2 7.场景再现3 1.美图 2.背景 不知道什么原因,kafka报错 2020<

最新文章

  1. 系列四、SpringMVC响应数据和结果视图
  2. python requests 重新定向错误 requests.exceptions.TooManyRedirects: Exceeded xx redirects 解决方法
  3. 跑步碰撞大数据,走进悦跑圈的数据“大观园”
  4. 两个Fragment之间如何传递数据
  5. 收藏!2021最新期刊预警名单汇总!
  6. 数据结构-循环单链表之约瑟夫问题
  7. 网络知识:整理各种路由器组网方法!网跨段也能访问!
  8. 外部中断0(含知识点)
  9. 马云离职后,20岁的阿里凭什么做成“102年的企业”?
  10. 将浮点数转换为字符串
  11. 关于类的sizeof问题
  12. 走进 Growth Hacker 的世界
  13. 2016-05-06
  14. 【滤波器】基于matlab脉冲响应不变法+双线性变换法数字滤波器设计【含Matlab源码 884期】
  15. 喜马拉雅下载文件解决办法
  16. VS2019下载地址和安装教程(图解)
  17. python 过采样算法_类不平衡数据分类准确率的提升算法smote过采样方法
  18. linux网卡dhcp获取ip,Linux下通过DHCP服务器获取IPv6地址
  19. 如何将word转换成pdf?超实用的使用教程免费分享
  20. SeedLab5: The Mitnick Attack Lab

热门文章

  1. centos服务器安装python3,CentOS7 服务器上如何安装python3
  2. html页面发送post请求中文乱码,用XMLHTTP Post/Get HTML页面时的中文乱码问题之完全Script解决方案...
  3. 超英文邮件50%!Flink 中文邮件列表必须有姓名
  4. 阿里巴巴高级技术专家章剑锋:大数据发展的 8 个要点
  5. 你写的代码要被 GitHub 存在北极啦!期限是 1000 年!
  6. 技术要扎扎实实的做,业余功夫也要修炼
  7. python基础知识——函数(下)
  8. weka矿产分布文件_石材人注意!北方暴雪将至,货车停运,石材停止发货!(附北方石材分布介绍)...
  9. mysql双节点部署_MariaDB GALERA 集群双节点部署
  10. mysql创建工作经历表_国内首款 Serverless MySQL 数据库重磅发布!