本文讨论了Kafka主题的体系架构,讨论了如何将分区用于故障转移和并行处理。

Kafka主题,日志和分区

Kafka将主题存储在日志中。主题日志分为多个分区。Kafka将日志的分区分布在多个服务器或磁盘上。将主题视为类别,流名称或提要。

主题本身就是发布和订阅样式的消息传递。一个主题可以有零个或多个名为使用者组的订阅户。为了速度、可伸缩性和大小,主题被划分为多个分区。

Kafka主题分区

Kafka将主题日志分解为多个分区。记录存储在一个分区上,如果存在该键,通常按记录键存储;如果缺少该键,则按循环存储(默认行为)。默认情况下,记录键决定生产者发送记录的分区。

Kafka使用分区在多个服务器上扩展主题以进行生产者写入。此外,Kafka还使用分区来促进并行消费者。使用者使用的记录与分区数并行。

每个分区保证的顺序。如果按键进行分区,则密钥的所有记录都将位于同一分区上,如果您必须重播日志,则该分区非常有用。Kafka可以将分区复制到多个代理以进行故障转移。

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

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

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

Kafka主题分区复制

Kafka可以跨多个可配置的Kafka服务器复制分区,这些服务器用于容错。每个分区都有一个领导服务器和零个或多个追随服务器。领导处理分区的所有读写请求。

追随者模仿领导者,如果领导者死了,他们就会接管。Kafka还使用分区在组中进行并行消费者处理。Kafka将主题日志分区分布在Kafka集群中的服务器上。每个服务器通过共享分区领导层来处理其数据和请求的共享。

复制:Kafka分区领导者、追随者和ISR

Kafka使用ZooKeeper选择一个经纪人分区的副本作为领导者。

具有分区领导的代理处理分区记录的所有读写操作。Kafka将写操作复制到主分区的后续分区(节点/分区对)。同步的追随者称为ISR(同步副本)。如果分区领导失败,Kafka选择一个新的ISR作为新的领导。

复制到分区0

当分区的所有ISR都写入其日志时,该记录被视为“已提交”。只有提交的记录才可从消费者中读取。另一个分区可以由另一个Kafka代理的领导者拥有。

复制到分区1

Kafka主题体系结构评论

什么是ISR?

ISR是同步副本。如果领导者失败,ISR将被选为新的领导者。

Kafka如何扩大消费者规模?

Kafka通过分区来扩展消费者,这样每个消费者都可以获得分区的份额。消费者可以有多个分区,但一个分区一次只能由一个使用者组中的一个使用者使用。如果只有一个分区,那么只能有一个使用者。

什么是领导者?追随者?

领导者执行对特定主题分区的所有读写操作。追随者复制领导者。

Kafka如何为消费者执行故障转移?

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

Kafka如何为代理执行故障转移?

如果一个代理死了,那么Kafka将其主题分区的领导权分配给集群中的其余代理。

Kafka主题体系架构-复制、故障转移和并行处理的更多相关文章

  1. Kafka Topic 体系结构 - 复制 故障转移 并行处理

    本文介绍了 Kafka Topic 的体系结构,并讨论了如何使用分区进行故障转移和并行处理. 1. Kafka Topic, Log, Partition Kafka Topic(主题) 是一个有名字 ...

  2. GPU体系架构(一):数据的并行处理

    最近在了解GPU架构这方面的内容,由于资料零零散散,所以准备写两篇博客整理一下.GPU的架构复杂无比,这两篇文章也是从宏观的层面去一窥GPU的工作原理罢了 GPU根据厂商的不同,显卡型号的不同,GPU ...

  3. Apache Kafka主题 - 架构和分区

    1.卡夫卡话题 在这篇Kafka文章中,我们将学习Kafka主题与Kafka Architecture的整体概念.Kafka中的体系结构包括复制,故障转移以及并行处理.此外,我们还将看到创建Kafka ...

  4. Hyper-V 2012 R2 故障转移群集

    和终端用户相比,企业用户对于业务的连续性和可靠性更为在意.相对而言,企业一般不会将追逐单一硬件的性能排在第一位. 如何衡量业务是否持续可用,一般使用"x 个 9"这种方式来定义.如 ...

  5. 第八章 Hyper-V 2012 R2 故障转移群集

    和终端用户相比,企业用户对于业务的连续性和可靠性更为在意.相对而言,企业一般不会将追逐单一硬件的性能排在第一位. 如何衡量业务是否持续可用,一般使用"x 个 9"这种方式来定义.如 ...

  6. Kafka体系架构详细分解

    我的个人博客排版更舒服: https://www.luozhiyun.com/archives/260 基本概念 Kafka 体系架构 Kafka 体系架构包括若干 Producer.若干 Broke ...

  7. sqlserver2008 复制,镜像,日志传输及故障转移集群区别

    一, 数据库复制 SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行 实时数据同步, ...

  8. sql server 复制,镜像,日志传输及故障转移集群区别

    一, 数据库复制 SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行 实时数据同步, ...

  9. Kafka体系架构、命令、Go案例

    原文地址:https://github.com/WilburXu/blog/blob/master/kafka/Kafka基本架构和命令.md Kafka体系架构 Broker服务代理节点 服务代理节 ...

随机推荐

  1. 互联网上最可怕的搜索引擎:shodan

    互联网上最可怕的搜索引擎:shodan 介绍:http://tech.qq.com/a/20130410/000013.htm

  2. 洛谷P4698 [CEOI2011]Hotel [贪心,二分,并查集]

    题目传送门 Hotel 题目描述 你经营着一家旅馆,这家旅馆有 n 个房间,每个房间有维护费用和容量.其中第 i 个房间的维护费用为 ci​,容量为 pi​ 人. 现在有 m 个订单,每个订单有两个参 ...

  3. java中的变量和数据类型

    变量和javascript的变量含义一样 在Java中,变量分为两种:基本类型的变量和引用类型的变量.(javascript中同样是这样的) 基本数据类型 基本数据类型是CPU可以直接进行运算的类型. ...

  4. 两个字说清楚编程语言实质-Python基础前传(3)

    大家都知道Python对于数据分析而言,意义重大.但对于运用Python来做数据分析的我们来说,学习一门编程语言,却有不小的难度:首先大部分伙伴不是计算机相关专业的科班出身,其次我们基本上也都没有程序 ...

  5. SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xce in position 0: invalid continuatio

    点击  文档>>设置文件编码>>Unicode>>Unicode(UTF-8)

  6. 【洛谷1361】 小M的作物(最小割)

    传送门 洛谷 Solution 这是一个比较实用的套路,很多题目都有用,而且这个套路难以口胡出来. 考虑把每一个附加贡献重新建一个点,然后向必需的点连边,流量为val. 然后直接种植的从源点向这个点连 ...

  7. 博客&git收藏

    阿里中间件团队博客 http://jm.taobao.orgkimmking https://blog.csdn.net/KimmKing/article/details/71517053 greys ...

  8. Android中的asserts和res/raw资源目录

    1.assets目录 assets目录下称为原生文件,无法通过R资源清单类访问,这类文件在被打包成apk文件时是不会进行压缩的: (1)使用方法 AssetManager assets = this. ...

  9. 摘抄java基础

    1.Java中Static的相关用法总结?(静态方法:静态变量:静态代码块) public static void main(String args[])执行的关键,在于有static.有了stati ...

  10. 图片滚动js代码

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...