国内最专业的IT技术学习网

UI设计

当前位置:主页 > UI设计 >

Kafka设计原理看了又忘,忘了又看?

发布时间:2019/08/01标签:   消息    点击量:

原标题:Kafka设计原理看了又忘,忘了又看?
甚么是新闻行列?简略来讲,新闻行列是寄存新闻的容器。客户端能够将新闻发送到新闻效劳器,也能够从新闻效劳器猎取新闻。图片来自 Pexels明天,我将缭绕以下几个成绩停止分享: 为甚么须要新闻体系? Kafka 架构道理? Kafka 怎样存储新闻? Producer 怎样发送新闻? Consumer 怎样花费新闻? Offset 怎样保留? 新闻体系能够碰到哪些成绩?为甚么须要新闻体系?削峰数据库的处置才能是无限的,在峰值期,过量的恳求落到后盾,一旦超越体系的处置才能,能够会使体系挂掉。如上图所示,体系的处置才能是 2k/s,MQ 处置才能是 8k/s,峰值恳求 5k/s,MQ 的处置才能远弘远于数据库,在顶峰期,恳求能够先积存在 MQ 中,体系能够依据本身的处置才能以 2k/s 的速率花费这些恳求。如许等顶峰期一过,恳求能够只要 100/s,体系能够很快的花费掉积存在 MQ 中的恳求。留神,下面的恳求指的是写恳求,查问恳求个别经过缓存处理。解耦以下场景,S 体系与 A、B、C 体系严密耦合。因为需要变化,A 体系修正了相干代码,S 体系也须要调剂 A 相干的代码。过几天,C 体系须要删除,S 紧随着删除 C 相干代码;又过了几天,须要新增 D 体系,S 体系又要增加与 D 相干的代码;再过几天,顺序猿疯了...如许各个体系严密耦合,倒霉于保护,也倒霉于扩大。当初引入 MQ,A 体系变化,A 本人修正本人的代码便可;C 体系删除,间接撤消定阅;D 体系新增,定阅相干新闻便可。如许经过引入新闻旁边件,使各个体系都与 MQ 交互,从而幸免它们之间的错综庞杂的挪用关联。Kafka 架构道理?Kafka 相干观点: Broker:Kafka 集群中包括的效劳器。 Producer:新闻出产者。 Consumer:新闻花费者。 Consumer Group:每个 Consumer 都属于一个 Consumer Group,每条新闻只能被 Consumer Group 中的一个 Consumer 花费,但能够被多个 Consumer Group 花费。 Topic:新闻的种别。每条新闻都属于某个 Topic,差别的 Topic 之间是彼此自力的,即 Kafka 是面向 Topic 的。 Partition:每个 Topic 分为多个 Partition,Partition 是 Kafka 调配的单元。Kafka 物理上的观点,相称于一个名目,名目下的日记文件形成这个 Partition。 Replica:Partition 的正本,保证 Partition 的高可用。 Leader:Replica 中的一个脚色, Producer 和 Consumer 只跟 Leader 交互。 Follower:Replica 中的一个脚色,从 Leader 中复制数据。 Controller:Kafka 集群中的此中一个效劳器,用来停止 Leader Election 以及种种 Failover。 Zookeeper:Kafka 经过 Zookeeper 来存储集群的 Meta 信息。Topic and LogsMessage 是依照 Topic 来构造的,每个 Topic 能够分红多个 Partition(对应 server.properties/num.partitions)。Partition 是一个次序的追加日记,属于次序写磁盘(次序写磁盘效力比随机写内存要高,保证 Kafka 吞吐率)。其构造以下:server.properties/num.partitions 表现文件 server.properties 中的 num.partitions 设置项,下同。

版权信息Copyright ? IT技术教程 版权所有??? ICP备案编号:鲁ICP备09013610号