Kafka 主题分区

2024-03-04

关于 Kafka 主题和分区的一个简单问题。假设以下场景:

  • Producer1将数据写入Topic1。

  • Producer2向Topic2写入数据

  • Consumer读取Topic 1和Topic 2的数据。

  • Consumer2仅从Topic2读取数据。

问题是:每个Topic内部有多少个分区?难道真的要靠消费者数量来推动并行吗?或者它只是设置到文件 server.config 中的参数?在后一种情况下,有没有办法让不同的主题具有不同数量的分区?


首先要了解的是,主题分区是 Kafka 中的并行单位。在生产者和代理端,对不同分区的写入可以完全并行完成。在消费者方面,Kafka总是将单个分区的数据提供给一个消费者线程。因此,消费者(在消费者组内)的并行度受到正在消费的分区数量的限制。因此,一般来说,Kafka集群中的分区越多,能够实现的吞吐量就越高。

每个Topic内部有多少个分区?这是可配置的。您可以增加分区,但一旦增加,就无法减少它。 Apache Kafka 为我们提供了 alter 命令来更改 Topic 行为和添加/修改配置。我们将使用 alter 命令向现有主题添加更多分区。

以下是将主题“my-topic”的分区数增加到 20 的命令 -

./bin/kafka-topics.sh --alter --zookeeper localhost:2181 --topic my-topic --partitions 20

您可以使用describe命令验证分区是否已增加,如下所示 -

./bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-topic

一个主题需要设置多少个分区?请在这里阅读这份写得很好的文档:https://www.confluence.io/blog/how-to-choose-the-number-of-topicspartitions-in-a-kafka-cluster/ https://www.confluent.io/blog/how-to-choose-the-number-of-topicspartitions-in-a-kafka-cluster/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kafka 主题分区 的相关文章

随机推荐

  • 将几个参数传递给 lapply 的 FUN(以及其他 *apply)

    我有一个关于在使用时将多个参数传递给函数的问题lapply in R 当我使用 lapply 的语法时lapply input myfun 这很容易理解 我可以这样定义 myfun myfun lt function x doing som
  • C# 中的异步/等待和并行 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 列数将图像减半

    我在页面上有很大一部分文本 当屏幕更大时 我可以使用媒体查询来使文本形成列 然而 当我这样做时 有些照片没有完全进入一栏 无论出于何种原因 它都会分割照片并将其一部分显示在一列的底部 并将其余部分显示在下一列中 div 也会发生这种情况 如
  • 如何更新 Windows 最新托管运行程序的 github 操作工作流程文件中的 PATH

    我目前正在尝试将 GitHub 操作工作流程添加到存储库中 要进行 C CMake swig python 开发 即本机 python 库开发 我需要下载并安装 swigwin 并将其提供在PATH 不幸的是 似乎 env Path 在下一
  • 在不影响CloudKit正确性的情况下执行持久历史记录清除的正确方法是什么?

    目前 我们正在使用本地CoreData with CloudKit特征 通过使用NSPersistentCloudKitContainer 为什么我们启用持久历史跟踪功能 由于问题描述于https stackoverflow com a 7
  • 如何在不使用 nginx 的情况下通过 ingress 启用 CORS?

    我正在尝试使用 Kubernetes 设置 RESTful API 应用程序 我有一个准系统设置 其中包含集群 静态 IP 地址 使用 NodePort 类型的公开服务部署的应用程序以及配置了 SSL 托管证书的入口 我需要启用 CORS
  • 如何正确地将sqlite框架添加到Xcode项目中?

    我正在尝试将 SQLite 添加到我的项目中 我检查了构建阶段选项卡下的目标依赖项 它是空的 这是真的 我收到以下错误 无法运行命令 Ld SQLite 该目标可能包括其自己的产品 我正在使用 swift 3 你能帮我么 提前致谢 我目前不
  • 在 HSQLDB 2.0.0-rc8 中选择下一个序列值的“正确”方法

    假设我有一个序列 称为 TEST SEQ 选择下一个值的正确方法是什么 这不起作用 select next value for TEST SEQ 可能是因为它需要一个 FROM 子句 在休眠中查看 HSQLDialect getSequen
  • 帕拉米科。按修改时间获取文件

    localpath U utime sftp stat TestBTEC st mtime last modified datetime fromtimestamp utime if datetime now last modified l
  • 使用类为第三方库创建类型

    我有一个第三方库 它具有以下 ES6 类签名 class Machine constructor options static list callback create options callback 我尝试为此类创建类型声明 但出现一些
  • 在 Vim 中打开 NERDTree 和 Tlist 并排放置

    我正在寻找一种方法来 自动 打开左侧正上方的 NERDTree 和 Tlist 以便每个插件占据屏幕高度的一半 我已经找到了这个问题 https stackoverflow com questions 6005874 opening a w
  • Servlet 中的 JSF 托管 Bean

    有没有办法从 servlet 访问 JSF 托管 bean 在 Servlet 中 您可以通过以下方式获取请求范围的 beans Bean bean Bean request getAttribute beanName 和会话作用域的 be
  • Java 数组效率

    我不能 100 确定该机制正在发挥作用 因此我决定在此发帖以进一步澄清 我正在做一个项目 应该用Java处理大量数据 它必须是Java 我希望它尽可能高效 我所说的高效是指内存和计算速度应该放在第一位 可读性应该放在第二位 现在我有两种方法
  • 使用图像(宽高比填充)和视频制作 AVMutableComposition 以适合宽高比

    我正在尝试使用尺寸始终为 CGSize 375 667 的图像制作新视频 但视频尺寸不同 且 contentMode 为 aspectFit 问题是我无法弄清楚如何使整个视频组合具有正确的尺寸 即图像尺寸 而是视频的自然尺寸和一堆奇怪的结果
  • 批量使用 PowerShell 命令的问题

    我使用 PowerShell 命令从云下载 zip 文件 该命令在 PowerShell 和命令行中都能正常工作 但是 如果我将命令行中的命令插入批处理脚本中 则只会下载 html 为什么该命令在命令行中可以正常工作 但在批处理文件中却不能
  • GET 文件上传如何工作?

    有谁知道怎么办GWT文件上传有效吗 我知道关于FileUpload小部件以及如何使用它 我想知道它的内在机制是什么 我们无法从中获取文件内容FileUpload客户端中的小部件以及它如何发送到服务器 我用谷歌搜索但没有得到解决方案 提前致谢
  • 仅当活动未显示时才显示通知

    我有一个想要处理的后台任务 问题是 当任务完成时 我想调用一个新的 Activity 来向用户显示结果 前提是我的主 Activity 正在显示 否则我只想发送一个通知 以便用户可以看到该操作已完成 并且可以随时打开它 我正在考虑使用一个服
  • 强制从 s3 亚马逊服务器下载

    我一直在开发一个新的网络应用程序 它依赖于亚马逊S3服务器作为存储系统 以及代码点火器作为 PHP 框架 我需要在单击链接时强制下载文件 原始网址如下所示 http www our web com download do 1 jpg 它会生
  • 主构造函数内的 Scala 局部变量

    在 Scala 中如何在主构造函数中定义局部变量 我需要解决这个练习Scala for the impatient book 编写一个具有接受字符串的主构造函数的 Person 类 包含名字 空格和姓氏 例如 new 人 弗雷德 史密斯 提
  • Kafka 主题分区

    关于 Kafka 主题和分区的一个简单问题 假设以下场景 Producer1将数据写入Topic1 Producer2向Topic2写入数据 Consumer读取Topic 1和Topic 2的数据 Consumer2仅从Topic2读取数