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. Eigen向量化内存对齐/Eigen的SSE兼容,内存分配/EIGEN_MAKE_ALIGNED_OPERATOR_NEW
  2. pywinauto 记事本操作示例 移动鼠标 使用键盘 自动操作软件
  3. CCF认证-2015-3-2 数字排序
  4. animate auto
  5. Linux权限命令chmod
  6. 软件测试理论、方法及流程
  7. 项目范围管理__范围管理计划 与 范围说明书
  8. 用CSS来实现一些动画在vue中使用之流星滑过(3)
  9. PHP手册翻译日记[1]
  10. linux中国共享文件,linux上的文件共享服务详解
  11. 设备管理 android问号,设备管理器里有问号怎么办
  12. 前端console.log打印内容与后端请求返回数据不一致
  13. 【设计模式】建造者模式
  14. 华为裁员1100人!任正非痛批管理层:这种领导鼠目寸光
  15. 全栈相关软件安装问题
  16. Debian虚拟机安装常用软件
  17. Freemarker语法2
  18. 【Torch API】pytorch 中torch.ones_like和torch.zeros_like函数详解
  19. Opencv3学习笔记(C++Python双语)---视屏读取与保存
  20. 从“老婆”到“俞渝”,李国庆5377条微博透露出了多少秘密?

热门文章

  1. 签到界面加图片java_签到功能实现,没有你想的那么复杂(二)
  2. 异步处理老司机:IntentService 源码分析
  3. 还在使用OpenGL ES做渲染,你Out了,赶紧来拥抱Vulkan吧~
  4. 技术人真的能做一辈子技术么?
  5. sstv解码_SSTV通联活动:ISS国际空间站2020年1月30日和1月31日
  6. 全国计算机一级考试难度高吗,计算机等级考试分几级 考试难度大不大
  7. 严格对角占优矩阵特征值_MIT—线性代数笔记21 特征值和特征向量
  8. clob oracle 连接_32天 Oracle 导入导出.
  9. springboot 多线程_从零开始到架构,800页Java+并发+容器+多线程+高并发+Spring+SpringBoot源码...
  10. 两个表里数组字段的映射关联(stuff ,charindex,for xml path)