前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kafka Topic架构-复制、故障切换和并行处理

Kafka Topic架构-复制、故障切换和并行处理

作者头像
用户1263954
发布2018-01-30 15:25:29
2.5K0
发布2018-01-30 15:25:29
举报
文章被收录于专栏:IT技术精选文摘

本文介绍了Kafka主题的架构,并讨论了分区,如何做故障切换和并行处理。

Kafka Topic,日志和分区

回想一下,Kafka Topic是一个命名的记录流。Kafka将Topic存储在日志中。Topic日志被分解成分区。 Kafka将日志的分区扩展到多个服务器或磁盘。将Topic视为类别,流名称或Feed。

主题是固有的发布和订阅风格的信息。主题可以有零个或多个用户称为消费者组。主题因速度,可扩展性和大小等因素被分解成多个分区。

Kafka Topic分区

Kafka将Topic日志分解成分区。如果Key存在,并且如果Key失(默认行为),则记录通常由记录Key存储在分区上。默认情况下,记录Key确定生产者发送记录的分区。

Kafka使用分区来扩展许多服务器上的Topic以供生产者写。此外,Kafka还使用分区来方便并行消费者。消费者以最多分区数量的并行度消费记录数。

每个分区的顺序是受保证的。如果按Key进行分区,那么Key的所有记录将位于相同的分区上,如果您要重放日志,这将是非常有用的。 Kafka可以将分区复制到多个Broker进行故障转移。

Kafka主题日志分区的顺序和基数

Kafka仅在单个分区中维护记录顺序。分区是一个有序的,不可变的记录序列。 Kafka连续地使用分区作为结构化提交日志附加到分区。分区中的记录被分配为称为偏移量的顺序ID号。偏移量标识分区内的每个记录位置。主题分区允许Kafka日志扩展到适合单个服务器的大小。主题分区必须适合托管它的服务器上,但主题可以覆盖许多服务器上托管的许多分区。而且,主题分区是一个并行的单位,一个分区只能由消费者组中的一个消费者一次处理。消费者可以在自己的进程或自己的线程中运行。如果一个消费者停止,Kafka在同一个消费者组的剩余消费者中扩展分区。

Kafka架构:主题分区的布局和偏移

Kafka主题分区复制

Kafka可以跨可配置数量的Kafka服务器复制分区,这些服务器用于容错。每个分区都有一个主服务器和零个或多个从服务器。Leader处理对分区的所有读取和写入请求。

如果Leader死亡,从服务器重新被选举leader并接手。 Kafka还使用分区来进行一组中的并行消费者处理。 Kafka通过Kafka集群中的服务器分发主题日志分区。每个服务器通过共享分区Leader来处理其数据和请求的份额。

复制:Kafka分区Leader,从服务器和ISR

Kafka使用ZooKeeper选择一个Broker的分区副本作为Leader。 具有分区Leader的Broker处理所有分区记录的读取和写入。Kafka将对Leader分区的写入复制到从服务器(节点/分区对)。同步的从服务器称为ISR(同步复制)。如果分区Leader失败,Kafka选择新的ISR作为新的Leader。

复制到分区0

当所有分区的ISR写入其日志时,该记录被视为“提交”。只有提交记录才能从消费者那里读取,另一个分区可以由另一个Kafka Broker的另一个Leader拥有。

复制到分区1

Kafka Topic架构回顾

什么是ISR?

ISR是同步副本。如果Leader失败,ISR被选为新的Leader。

Kafka如何伸缩消费者规模?

Kafka通过分区来伸缩消费者,使得每个消费者获得其分区份额。消费者可以拥有多个分区,但分区只能由消费者组中的一个消费者一次使用。如果你只有一个分区,那么你只能有一个消费者。

什么是Leader?什么是从服务器?

Leader对特定主题分区执行所有读取和写入操作。从服务器重复Leader的事务动作。

Kafka如何为消费者执行故障切换?

如果消费者组中的消费者死亡,则分配给该消费者的分区在该组中剩余的消费者之间分配。

Kafka如何为Broker执行故障转移?

如果一个Broker死亡,那么Kafka将其主题分区的Leader分成集群中剩下的Broker。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-08-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT技术精选文摘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档