文档章节

应用kafka的总结

LeeRockstone
 LeeRockstone
发布于 2014/09/21 00:08
字数 605
阅读 3805
收藏 14

consumer offset commit

使用kafka的python api时遇到了offset回滚的问题,因为最初使用了autocommit参数,发现有时会重复取记录,发现autocommit是批量提交,并且有offset回滚的问题,具体原因未发现,解决方法是手动调用commit函数提交,经过测试手动调用没有出现offset回滚的问题。

partition

一开始为了简单只使用了一个分区,consumer都从一个leader取数据,请求压力都在一台机器。使用不同分区策略可以分散topic的leader,还可以灵活处理不同数据。

fetch msg

MaxWaitTime 请求最大等待时间,MinBytes 请求消息的最小字节数,通过这2个参数可以调整你获取数据时的等待策略,最简单的做法就是不等待,没数据直接返回。

zookeeper

对于zookeeper不太了解,因此忽略了dataDir和dataLogDir这2个目录的配置对系统造成的影响。由于硬盘限制,把kafka和zookeeper的日志目录放在了同一个磁盘,而且磁盘的性能不是很好,造成了kafka写数据效率低下,每次写数据只有几百k。zookeeper网站上对这2个配置有Notes说不要把他们放在繁忙的磁盘设备上,会影响其他程序写磁盘的性能,最好这2个目录都分开存放不同设备。简单看了一下,dataDir下存的是snapshot文件,dataLogDir存的是log文件,应该是zookeeper把内存数据持久化到这2种文件中了,而且持久化操作很频繁且写的数据很少,会影响kafka写日志。

iostat -d -x

这是关于磁盘性能监控的。在排查磁盘io高的问题时用到了iostat -d -x 命令,由于对磁盘不是很了解,在排查时主要关注w/s、wkB/s、rkB/s,对于扇区没怎么关注,rsec/s wsec/s avgrq-sz这几个参数反应磁盘操作扇区的情况,当磁盘利用率高且iowait高,而平均扇区低也就意味着磁盘把大量时间用于磁盘寻道,你可能需要考虑是不是有大量随机写磁盘的操作。

end

以上是对在使用kafka时遇到的问题的一些总结。

© 著作权归作者所有

上一篇: vim快捷键与插件
下一篇: nodejs
LeeRockstone
粉丝 6
博文 12
码字总数 5648
作品 0
珠海
程序员
私信 提问
新书《深入理解Kafka:核心设计与实践原理》上架,感谢支持~

版权声明:本文为博主原创文章,未经博主朱小厮允许不得转载。 https://blog.csdn.net/u013256816/article/details/87898176 新书上架 初识 Kafka 时,笔者接触的还是 0.8.1 版本,Kafka 发展...

朱小厮
02/23
0
0
日志打入kafka改造历程-我们到底能走多远系列49

方案 日志收集的方案有很多,包括各种日志过滤清洗,分析,统计,而且看起来都很高大上。本文只描述一个打入kafka的功能。 流程:app->kafka->logstash->es->kibana 业务应用直接将日志打入k...

每当变幻时
2018/08/21
0
0
RocketMQ与Kafka对比

RocketMQ与Kafka对比(18项差异) 淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步...

莫问viva
2015/05/08
615
0
RocketMQ与Kafka对比(18项差异)

转自:https://github.com/alibaba/RocketMQ/wiki/rmqvskafka 淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,...

洋哥6
2016/02/29
240
0
Apache RocketMQ QuickStart

RocketMQ作为一款分布式的消息中间件(阿里的说法是不遵循任何规范的,所以不能完全用JMS的那一套东西来看它),经历了Metaq1.x、Metaq2.x的发展和淘宝双十一的洗礼,在功能和性能上远超Act...

程序员诗人
2017/09/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

程序设计基础(C)第06讲例程

1summing.c /* summing.c -- 根据用户键入的整数求和 */#include <stdio.h>int main(void){ long num; long sum = 0L; /* 把sum 初始化为0 */ int status; p......

树人大学数字媒体吴凡
22分钟前
6
0
聊聊nacos config的publishConfig

序 本文主要研究一下nacos config的publishConfig ConfigController nacos-1.1.3/config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigController.java @Controller@R......

go4it
49分钟前
5
0
Eureka应用注册与集群数据同步源码解析

在之前的EurekaClient自动装配及启动流程解析一文中我们提到过,在构造DiscoveryClient类时,会把自身注册到服务端,本文就来分析一下这个注册流程 客户端发起注册 boolean register() t...

Java学习录
59分钟前
11
0
Java描述设计模式(15):责任链模式

本文源码:GitHub·点这里 || GitEE·点这里 一、生活场景描述 1、请假审批流程 公司常见的请假审批流程:请假天数 当 day<=3 天,项目经理审批当 3<day<=5 天,部门经理审批当 day>5 天...

知了一笑
今天
10
0
总结:数组与链表

1、内存申请:数组在内存上是连续的空间;链表,内存地址上可以是不连续的。 2、查询速度:数组可以随机访问,链表必须顺序访问,即从首个元素开始遍历,逐个查找,所以数组查询很快。 3、写入...

浮躁的码农
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部