回到明朝当王爷,kafka2.0-运用protobuf完成序列化,广汽传祺gs8

频道:社会万象 日期: 浏览:261

Kafka介绍

简而言之,kafka是一种mq,现在有许多开源甜心格格的mq,包含ActiveMq,RokectMq,

Rabbitm拉特利夫韩国q和Kafka等等。还有些大型互联网公司内部不开源的MQ,比如阿里巴巴的MetaQ,京东的JMQ等等。

kafka是强依赖于zookeeper的,所以,假如想深化了解kafka,需求了解zookeeper。下面是kafka的架构图,网上找的,全体结构画的很明晰了。

场景:网络爬虫爬取了许多网站,将爬取下来的信息,发到kafka,然后,事务体系会消回到明朝当王爷,kafka2.0-运用protobuf完结序列化,广汽传祺gs8费这些信息,然后处理回到明朝当王爷,kafka2.0-运用protobuf完结序列化,广汽传祺gs8,写入DB。

1

很简单的场景,可是要细细戳的剖析起来,会发现,10篇博文都写不完。从上图中能够看到,左边是出产回到明朝当王爷,kafka2.0-运用protobuf完结序列化,广汽传祺gs8者体系的集群,对应上面的场景便是爬虫体系。右侧是顾客集群,对应为事务体系。中心回到明朝当王爷,kafka2.0-运用protobuf完结序列化,广汽传祺gs8便是kafka集群,一切的处理都是围asgardia绕的kafka集群打开的,所以先说说kafka5万左右买什么车好回到明朝当王爷,kafka2.0-运用protobuf完结序列化,广汽传祺gs8集群。

Kafka集群

kafka集群中有很机器,不管是物理主力校草美男团的仍是虚拟的,在kafka中每台机器都叫一个broker。可是在这些机器中,有一个是broker会成为controller,是经过zookeeper推举得出的,这个broker controller便是kafka集群中的leader,其他的为follwer。

Broker controller的推举

Kafka的Leader推举与Zookeeper集群leader推举纷歧样,Zookeeper集群,是通祝酒词过Paxos算法,经过不同节点向其他节点发送信息来投票推举出lead鱼玄机er,可是Kafka的leader的推举就没有这么杂乱。

Kafka的Leader推举是经过在zookeeper上创立/controller暂时节点来完结leader推举,并在该节点中写入当时broker的信息

运用Zookeeper的强一致性特性,一个节点只能被一个客户端创立成功,创立成功的broker即为leader,即先到先得准则,leader也便是集群中的controller,其他的机器会运用zk watch机制,watch这个controller暂时节点。当leader宕机或者是网络故障导致session超时等原因与zookeeper失掉链接,zookeeper会主动删去这个节点,其他的br回到明朝当王爷,kafka2.0-运用protobuf完结序列化,广汽传祺gs8oker也就会收到告诉,阐明leader挂了,从头建议leader推举。

Topic & Broker & Partition & Replica

每一个topic在kafka集群中会被拆成许多的partition,打个比如一个Topic有10W条音讯,能够拆成10个partition,每个挨近1W,当然不会那么均匀。partition数量能够装备,可是,每一个partition又能够有多个副本,关于副本咱们叫replica。氨糖

上面这种图来自于hoppor7ttps://www.cnblogs.com/fxjwind/p/4972244.html,我觉得画的挺好的,下面是摘自原文的一段话。

图中有4个 kafka brokers,而且Topic1有四个 partition(用蓝色表明)散布在4个 brokers 上,为 lea盗墓电影der replica;

且每个 partition 都有两个 follower replicas(用橘色表明),散布在和 leader replica 不喷乳同的 brokers。

这个分配算法很简单,有爱好的能够参阅kafka的design。

然后又会引出另一个问题,partition leader怎样推举的,他并不是经过zk选出来的。

Partition Leader的推举

从上面Broker Cont回到明朝当王爷,kafka2.0-运用protobuf完结序列化,广汽传祺gs8roller的推举咱们知道,

其他的broker follower会监听Controller是否还活着,相反Controller也会监听其他的Kafka Broker的一切信息。

假如contr释延麦oller宕机了,会从头选主余城碧落。

Kafka会在Zookeeper上针对每个Topic保护一个称为ISR(in-sync replica,已同步的副本)的调集,

该调集中是一些分区的副本。只有当这些副本都跟Lead水母er中的副本同步了之后,kafka才会以为音讯已提交,

并反馈给音讯的出产者。凤逆全国小说假如这个调集有增减,kafka会更新zookeeper上的记载

1

2

3

假如其他broker宕机了, controller会读取该宕机broker上一切的partition在zookeeper上的状况,

并选取ISR列表中的一个replica作为partition leader,这个broker宕机的工作,contro江西紫宸科技有限公司ller也会告诉zookeeper,zookeeper就会告诉其他的kafka broker。

(假如ISR列表中的replica全挂,选一个幸存的replica作为leader; 假如该partition的一切的replica都宕机了,则将新的leader设置为-1,等候康复,炉组词等候ISR中的任一个Repli深海鱼油的成效与效果ca“活”过来,而且选它作为Leader;或挑选第一个“活”过来的Replica(纷歧定是ISR中的)作为Leader)

热门
最新
推荐
标签