微处事架构之–动静行列Kafka图解最全常识点
吞吐性&&延时:
Sender线程和长毗连 每初始化一个producer实例,城市初始化一个Sender实例,新增到broker的长毗连。 代码角度:每初始化一次KafkaProducer,都赋一个空的client
终端查察TCP毗连数:
Consumer计划道理 poll动静
位移打点 consumer的动静位移代表了当前group对topic-partition的斲丧进度,consumer宕机重启后可以继承从该offset开始斲丧。在kafka0.8之前,位移信息存放在zookeeper上,因为zookeeper不得当高并发的读写,新版本Kafka把位移信息当成动静,发往__consumers_offsets 这个topic地址的broker,__consumers_offsets默认有50个分区。动静的key 是groupId+topic_partition,value 是offset. Kafka Group 状态
重均衡reblance 当一些缘故起因导致consumer对partition斲丧不再匀称时,kafka会自动执行reblance,使得consumer对partition的斲丧再次均衡。 什么时辰产生rebalance?:
reblance进程 举例1 consumer被检测为瓦解引起的reblance 好比心跳线程在timeout时刻内没和broker发送心跳,此时coordnator以为该group应该举办reblance。接下来其他consumer发来fetch哀求后,coordnator将回覆他们举办reblance关照。当consumer成员收到哀求后,只有leader会按照分派计策举办分派,然后把各自的分派功效返回给coordnator。这个时辰只有consumer leader返回的是实质数据,其他返回的都为空。收到分派要领后,consumer将会把分派计策同步给各consumer 举例2 consumer插手引起的reblance
(上图图片摘自收集) 引申:以上reblance机制存在的题目 在大型体系中,一个topic也许对应数百个consumer实例。这些consumer延续插手到一个空斲丧组将导致多次的rebalance;另外consumer 实例启动的时刻不行控,很有也许超出coordinator确定的rebalance timeout(即max.poll.interval.ms),将会再次触发rebalance,而每次rebalance的价钱又相内地大,由于许多状态都必要在rebalance前被耐久化,而在rebalance后被从头初始化。 新版本改造 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |