- 博客(6)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 Kafka源码阅读 —— KafkaController(5)
重新分配 replica当新增机器到集群中时,可能需要调整topic下partition的replica分配。kafka不会根据负载自动调整replica assignment,这时候就需要集群管理员手动调整。 下面的例子是将foo1和foo2两个topic的所有replica重新分配到broker 5和broker 6上。 首先,需要提供文件指明需要迁移哪些topic:>cat topics-
2016-11-14 22:20:52 552
原创 Kafka源码阅读 —— KafkaController(4)
在kafka 0.8以后开始提供High Availability机制,即一个broker宕机后可以不影响服务。在集群规模越来越大的今天,HA对于消息中间件至关重要。broker startup“Kafka源码阅读 —— KafkaController(1)”中提到,在broker启动时会调用KafkaServer.startup,该函数中会创建一个KafkaHealthcheck类对象,并调用Ka
2016-11-14 22:19:21 563
原创 Kafka源码阅读 —— KafkaController(3)
执行 kafka-topics.sh –createKafka官网给出的创建Topic的命令如下: bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test 这条命令中的信息包括:zookeeper地址、分区副本数、分区数和topic名。
2016-11-14 22:18:33 612
原创 KAFKA源码阅读——ReplicaFetcherManager,同步log
在ReplicaManager.makeFollowers函数中,对于成为Follower的broker,需要执行这么一段代码:val partitionsToMakeFollowerWithLeaderAndOffset = partitionsToMakeFollower.map(partition => new TopicAndPartition(partition) ->
2016-11-14 20:37:06 1391
原创 KAFKA源码阅读———处理ProduceRequest,FetchRequest
KafkaApis类中有个handle函数,这里是消息分发中心,根据request中的requestId采用不同的处理方式。当requestId == RequestKeys.produceKey时,通过函数handleProducerOrOffsetCommitRequest处理request。 这个函数中把ProducerRequest和OffsetCommitRequest请求都作为生产消息
2016-11-14 20:36:10 2096
原创 KAFKA源码阅读——FetchRequestPurgatory, ProducerRequestPurgatory
RequestPurgatorypurgatory,炼狱的意思。第一次看RequestPurgatory类的代码时,一头雾水,不明白是干什么的。要理解这个,需要先理解kafka处理FetchRequest和ProduceRequest的思路: 1. 请求到达,先判断该请求执行完成的条件是否满足(例如ProduceRequest,需要判断是否有足够多的Follower都已经同步了指定的offset
2016-11-14 20:32:55 1087
windows如何设置所有未知后缀文件关联到某一程序?
2014-07-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人