Kafka 结构

kafka集群在zk的配置

    /controller            ===>    {"version":1,"brokerid":202,"timestamp":"1490926369148"
    
    /controller_epoch    ===>    1

    /brokers
    /brokers/ids
    /brokers/ids/202    ===>    {"jmx_port":-1,"timestamp":"1490926370304","endpoints":["PLAINTEXT://s202:9092"],"host":"s202","version":3,"port":9092}
    /brokers/ids/203
    /brokers/ids/204    


    /brokers/topics/test/partitions/0/state ===>{"controller_epoch":1,"leader":203,"version":1,"leader_epoch":0,"isr":[203,204,202]}
    /brokers/topics/test/partitions/1/state ===>...
    /brokers/topics/test/partitions/2/state ===>...

    /brokers/seqid        ===> null

    /admin
    /admin/delete_topics/test        ===>标记删除的主题

    /isr_change_notification

    /consumers/xxxx/
    /config

创建主题

kafka-topic.sh --zookeeper s202:2181 --replication_factor 3 --partitions 4 --create --topic test3

	2 x 5  = 10		//10个文件夹

	[s202]
	test2-1			//
	test2-2			//
	test2-3			//副本带分区

	[s203]
	test2-0
	test2-2
	test2-3
	test2-4

	[s204]
	test2-0
	test2-1
	test2-4

重新布局分区和副本,手动再平衡(可能没有用)

kafka-topics.sh --alter --zookeeper s202:2181 --topic test2 --replica-assignment 203:204,203:204,203:204,203:204,203:204

副本
     broker存放消息以消息达到顺序存放。生产和消费都是副本感知的。
     支持到n-1故障。每个分区都有leader,follow.
     leader挂掉时,消息分区写入到本地log或者,向生产者发送消息确认回执之前,生产者向新的leader发送消息。

     新leader的选举是通过isr进行,第一个注册的follower成为leader。

kafka支持副本模式
    [同步复制]
        1.producer联系zk识别leader
        2.向leader发送消息
        3.leadr收到消息写入到本地log
        4.follower从leader pull消息
        5.follower向本地写入log
        6.follower向leader发送ack消息
        7.leader收到所有follower的ack消息
        8.leader向producer回传ack
                        
    [异步副本]
        和同步复制的区别在与leader写入本地log之后,
        直接向client回传ack消息,不需要等待所有follower复制完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值