Kafka必备基础和集群架构知识.docx

上传人:王** 文档编号:1394679 上传时间:2024-07-05 格式:DOCX 页数:9 大小:170.20KB
下载 相关 举报
Kafka必备基础和集群架构知识.docx_第1页
第1页 / 共9页
Kafka必备基础和集群架构知识.docx_第2页
第2页 / 共9页
Kafka必备基础和集群架构知识.docx_第3页
第3页 / 共9页
Kafka必备基础和集群架构知识.docx_第4页
第4页 / 共9页
Kafka必备基础和集群架构知识.docx_第5页
第5页 / 共9页
Kafka必备基础和集群架构知识.docx_第6页
第6页 / 共9页
Kafka必备基础和集群架构知识.docx_第7页
第7页 / 共9页
Kafka必备基础和集群架构知识.docx_第8页
第8页 / 共9页
Kafka必备基础和集群架构知识.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
资源描述

《Kafka必备基础和集群架构知识.docx》由会员分享,可在线阅读,更多相关《Kafka必备基础和集群架构知识.docx(9页珍藏版)》请在优知文库上搜索。

1、一、Kafka基础消息系统的作用应该大部份小伙伴都清楚,用机油袋箱举个例子可以看出,就是在中恒12程屯加入f燎;中区域,之后灌好油的插跄亘接送往仓库,然后1.ft这个ift程亘蛭从仓尾荻取油桶上虺,上完前的送往仓库.打包装的也是TtTtM仓库获取所以消息系统就是如上图我们所说的仓库,能在中间过程作为缓存,并且实现解烟台的作用*引入一个场景,我们知道中国移动,中国联通,中国电信的口志处理,是交给外包去做大数据分析的,假设现在它们的日志都交给了你做的系统去做用户画像分析Mma.*5RJRW.B三8三a.ICHDFswxae按照刚刚前而提到的消息系统的作用,我们知道了消息系统其实就是一个模拟缓存,且

2、仅仅是起到J缓存的作用而并不是真正的缓存,数据仍然是存储在磁盘上面而不是内存。l.Topic主通kafka学习了数据摩里面的设计,在里面设计了IoPiC(主题),这个东西类似于关系型数据库的表。M*a:三MJS,K.KXDFSWff此时我能要获取中国移动的数据,那就直接监听TopicA即可2 .Partition分区kafka还有一个概念叫PartiIion(分区),分区具体在服务器上面去现起初就是一个目录,一个主胞卜面有多个分区,这些分区会存储到不同的服务器上面或者说,其实就是在不同的主机上建了不同的目录.这些分区主要的信息就存在了.Iog文件里面.跟数据底里面的分区差不多,是为了提高性能,

3、Uika:S*W,*MMit.WH0*rSW至于为什么提高了性能.很简单,多个分区多个线程,多个线程并行处理肯定会比单线程好得多eTopic和partition像是IIBASE里.的table和region的概念,table只是个逻辑上的概念,真正存储数据的是region,这region会分布式地存储在各个服务器上面,对应于kilfka,也是一样,TUPiC也是逻辑概念,而partition就是分布式存储单元.这个设计是保证了海量数据处理的基础.我们可以对比一下,如果HwS没有block的设计,一个100T的文件也只能尊独放在一个赧务器上面,那就直接占满整个服务器了,引入block后,大文件可

4、以分散存储在不同的服务器上。注意;分区会有单点故障问题,所以我们会为每个分区设置副本数分区的编号是从0开始的3 .Producer-生产者往消息系统里而发送数据的就是生产者ka:JK,三三*三式.和HOFSW今4.Consumer-消费者从kafka里读取数据的就是消费者Kalka:是Tj票线,是一个占式,6OFSMM5.Message-消息kafka里面的我们处理的数据叫做消息.二、kafka的集群架构创建一个TopicA的主题,3个分区分别存储在不同的服务器,也就是broker下面.Topic是一个逻森上的概念,并不能宜接在图中把Topic的相关单元iS出.Kafka集群需要注,旗:kaf

5、ka在0.8版本以前是没有副本机制的,所以在面时服务器宕机的突发情况时会丢失数掳,所以尽砒避免使用这个版本之前的kafka。Replica-副本kafka中的partition为了保证数据安全,所以每个partition可以设置多个副本.此时我们对分区0,I,2分别设置3个副本(其实设置两个副本是比较合适的).Kafka集群而其实每个副本都是有角色之分的,它们全选取一个副本作为leader,而其余的作为follower,我们的生产者在发送数据的时候,是直接发送到leaderpartition里面,然后f。IlOWerPHrtition会去IeHder那里自行同步数据,消费者消费数据的时候,也是

6、从Ieader那去消翁数据的.Kafka勇群ConsumerGroup-消费者组我们在消费数据时会在代码里面指定一个group,id,这个id代表的是消费组的名字,而且这个group,id就算不设设,系统也会默认设*conf.5etPr0perty(group.id,telIYourDream)我们所熟知的一些消息系统一般来说会这样设计,就是只要有一个消费者去消费了消总系统里面的数据,那么其余所有的消责者都不能再去消费这个数据,可是kafka并不是这样,比如现在ConsumerA去消费了一个IopicA里面的数据。ConsumerA:group.idaconsumerB:group.id-aC

7、onsumerC:group.id-bconsumerD:group.id-b再让ConsumerB也去消费TopicA的数据,它是消费不到了,但是我们在ConsumerC中更新指定一个另外的group.id.ConsumerC是可以消费到IopicA的数据的,而ConsuinerD也是消费不到的,所以在kafka中,不同组可有唯一的一个消费者去消费同主SS的数据。所以消费者组就是让多个消拢者并行消费信息而存在的,而旦它们不会消费到同一个消息,如下,ConsuroerA,B,C是不会互相干扰的.consumergroup:aConsumerAConsumerBConsumerCKanQ案群因为

8、前面提到过了消费者会直接和Ieader定立联系,所以它们分别消践了三个leader.所以一个分区不会让消费者组里面的多个消费者去消费.但是在消费者不饱和的情况下,个消珀者是可以去消费多个分区的数据的。Controller熟知一个规律:在大数据分布式文件系统里面,95%的都是主从式的架构,个别是对等式的架构,比如ElasticSearch.kafka也是主从式的架构,主节点就叫Controner,其余的为从节点,controlIer是需要和zookeeper进行配合管理整个kafka集群。kafka和zookeeper如何配合工作kafka严Si依赖于zookeeper集群(所以之前的zooke

9、eper文武还是有点用的。所有的broker在启动的时候都会往zookeeper进行注册,目的就是选举出一个COntrOIler,这个选举过程非常简单粗暴,就是一个设先谁当的过程,不涉及什么尊法何胞.那成为ContrOUer之后要做哈呢,它会监所zookeeper里面的多个目录,例如有一个目录/brokers/,其他从节点往这个目录注册(就是往这个目录上创建K于自己的子目录而已)自己,这时命名规则一般是它们的id编号,比如/brokers/。,1,2注册时各个节点必定会暴寤自己的主机名,端口号等等的信息,此时ConIroIler就要去读取注册上来的从节点的数据通过监听机制),生成集群的无数据信息,之后把这些信息都分发绐其他的服务器,让其他服务器能感知到匏群中其它成员的存在。此时模拟个场景,我们创建一个主题(其实就是在zookeepertopicstopicA这样创建一个目录而己),kafka会把分区方案生成在这个目录中,此时ConIrolIer就监折到了这一改变,它会去同步这个目录的无信息,然后同样下放给它的从节点,通过这个方法让整个集群都得知这个分区方案,此时从节点就各自创建好目录等待创建分区副本即可。这也是整个蛆群的管理机制。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > Web服务

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!