- 博客(11)
- 收藏
- 关注
原创 d3.js结合Heatmap.js
最近一直在跟gis地图打交道,导师给我的任务是画出所有学校里wifi ap的使用热力图.于是我接入了百度地图的api,费力地标出了所有wifi ap的坐标信息.最后,导师对百度地图的热力图不甚满意,emmmm.....并给我规定了使用d3.js画热力图.但是d3所有的热力图都是这样的..虽然这样的热力图也挺好看的,但是放到我们学校的地图上就不太行了.以下是用d3画我们学校热力图的效
2018-01-03 18:30:29
2874
2
转载 Netty,Kafka,Muduo关于时间轮的一些思考 之Muduo时间轮
上一篇文章提到了,netty默认的时间轮实现中,很大的一个缺陷就是对于超时时间会频繁更新的任务并不适用.这一篇文章讲讲muduo中的时间轮是如何客服这个问题的.muduo是陈硕老师用C++写的一个网络库,功能与netty其实很像,陈硕老师也在书中提到muduo很多的实现参考了netty.青出于蓝而胜于蓝,我认为在时间轮上muduo是要由于netty的.而这一切都要归功与智能指针,sha
2017-12-13 17:10:51
1373
原创 Netty,Kafka,Muduo关于时间轮的一些思考 之netty时间轮
无论是网络库,还是各种网络服务器,使用定时器永远是不可避免的,有那么多链接需要管理,不可能为每一个链接都开一个线程,也不可能每一次操作都遍历每一个链接去检查它们是否过期,高效的定时器框架是必须的.于是而定时器的经典模型时间轮应运而生.时间轮的模型其实很简单,万变不离其宗.网上有很多资料,这里我不多赘述,今天主要是讲,在我阅读开源项目时,看到的那些时间轮.首先最简单的,当属netty的时
2017-12-12 12:13:04
3001
原创 kafka线程模型之三 QuotaManager
kafka从0.9版本之后引入了配额机制,对于每个producer或者consumer,可以对他们produce或者consum的速度上限作出限制.这边找到一篇不错的文档,可以解释这一配额的设计理念与实现方式.kafka配额控制这其实对应着kafka中的两个线程,限制producer的线程,以及限制consumer的线程."ThrottledRequestReaper-Fetch"
2017-12-11 15:20:36
1589
1
原创 kafka性能监控之KafkaMetrics Sensor
说起kafka的metrics,很多人应该是即陌生又熟悉,熟悉是因为阅读源码的过程中,不可避免地会看到metrics.add()的代码.而陌生是因为metrics仅仅只是辅助功能,并不是kafka主要逻辑的一部分,并不会引起读者太多的关注.同时网上关于metrics这一块的分析也较少,这篇文章就带着大家一探metrics的究竟.在这里首先说明一个让我产生了误解的地方,不少文章说kafk
2017-12-08 14:37:29
6449
2
原创 kafka的线程模型之二
上一篇文章介绍了四种kafka的线程.acceptor线程,负责接收新的tcp连接,并交给network线程.network线程,负责与客户端或者其他broker的网络通行.硬盘I/O线程.负责将producer或者consumer的数据,写入读出磁盘.scheduler线程,定时负责flush磁盘,合并数据,更新index文件.这篇文章将介介绍, Expiration
2017-12-05 20:01:02
596
原创 kafka的线程模型之一
这篇文章我想从线程的角度,来阐述kafka的结构.网上有不少关于kafka架构的博客,但浏览下来大多属于层次比较高,细节比较少的介绍.因此我想要另辟蹊径,讲一讲一台向外提供服务的broker,有哪写线程,每个线程从源码的角度来说在何时哪个类中初始化,分别负责什么,线程之间又是通过什么通信的?方法很简单,jstack + pid,后可以得到所有线程的stack以及当前状态.由于线程名
2017-11-27 12:16:07
2229
原创 Kafka的Replica分配策略之二 Replica变为0了怎么办
这一篇文章准备讨论当kafka集群的broker发生变化,诸如broker崩溃,退出时,kafka集群会如何分配该broker上的Replica和Partition.在讨论这个问题之前,需要先搞清kafka集群中,leader与follower的分工.可以看我写的这篇文章 Kafka的leader选举过程在之前介绍kafka的选举过程时,提到成功选举出的leader会向zookeepe
2017-11-21 13:10:28
3508
原创 Kafka的leader选举过程
上一篇文章说到,当创建一个topic时,kafka是如何分配partition和replica的.这篇文章本想讨论在topic创建完毕后,当broker信息发生变化,kafka是如何处理partition和replica的分配的.不过我读了源码之后,感觉首先要理清leader和follower之间的关系.因此我决定先写一篇文章描述一下Kafka的leader选举过程,kafka源码的版本是
2017-11-19 15:22:53
2498
原创 Kafka的Repilica分配策略之一
近来对kafka的源码很有兴趣.说起kafka真的是极大地方便了我的工作,每次用起ta都心怀感激.好用不说,还相当稳定.爱屋及乌,我决心一探kafka的究竟.对我来说最感兴趣的莫过于这几个个问题:1.在创建topic的时候,kafka如何分配partition以及replica所在的位置.2.要是一个broker down了,那它的replica该怎么重新分配.3.如果
2017-11-17 16:15:43
889
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人