分类 kafka研究 下的文章


撰写于    浏览:1087 次  分类: kafka研究
如果有个定时为350ms的任务该如何处理?直接扩充wheelSize的大小么?Kafka中不乏几万甚至几十万毫秒的定时任务,这个wheelSize的扩充没有底线,就算将所有的定时任务的到期时间都设定一个上限,比如100万毫秒,那么这个wheelSize为100万毫秒的时间轮不仅占用很大的内存空间,而且效率也会拉低。Kafka为此引入了层级时间轮的概[...]

撰写于    浏览:1790 次  分类: kafka研究
Kafka中存在大量的延迟操作,比如延迟生产、延迟拉取以及延迟删除等。Kafka并没有使用JDK自带的Timer或者DelayQueue来实现延迟的功能,而是基于时间轮自定义了一个用于实现延迟功能的定时器(SystemTimer)。JDK的Timer和DelayQueue插入和删除操作的平均时间复杂度为O(nlog(n)),并不能满足Kafka的高[...]

撰写于    浏览:1300 次  分类: kafka研究
上面一篇文章,我说了一点自己的学习经验,其中第(4)点,我提到了Linux的io复用,主要是epoll,我突然感觉可以把这个给大家讲一讲,当做一次公开课内容,因为大家都是搞java的,很少有人即精通c/c++,又精通java的。在我看来:不懂c/c++的人,绝对是不能称之为java大牛的,如果不懂epoll,那就是压根不懂并发。虽然这个观点有点绝对[...]

撰写于    浏览:1669 次  分类: kafka研究
个人感觉,学好Kafka还是有一定难度的。比起mybatis框架而言,它需要掌握更多的知识点。依照个人经验来看,学习Kafka应该做到以下几点:(1)熟悉zookeeper,要把它的命令搞清楚,能熟练使用,还有它的应用场景也要吃透,不光大数据框架离不开zookeeper,现在做web开发的人一旦涉及到分布式的应用,往往也需要zookeeper来支撑[...]

撰写于    浏览:664 次  分类: kafka研究
server.properties是Kafka的主要配置文件,下面简单介绍其中的相关配置项的含义。必须修改的配置项就是log.dirs,其他配置可以根据需求自行修改。# 每一个Broker在集群中的唯标识。即使Broker的IP地址发生了变化,broker.id只要没变,则不会影响consumers的消息情况 broker.id=0 # 是否允许T[...]