当前位置: 首页 > 知识库问答 >
问题:

Kafka话题vs分区话题

空枫涟
2023-03-14

我想知道简单主题和分区主题之间的区别是什么。根据我的理解,为了平衡负载,主题已经被分区,每个消息都有偏移,使用者将确认以确保先前的消息已经被确认。如果没有分区和使用者不匹配,由kafka完成的重新平衡会有效地管理。

如果创建多个主题而不是分区,是否会影响操作效率。

共有1个答案

易英奕
2023-03-14

从Kafaka的文献中

日志中的分区有几个用途。首先,它们允许日志的规模超过一台服务器所能容纳的大小。每个单独的分区必须适合承载它的服务器,但是一个主题可能有许多分区,因此它可以处理任意数量的数据

为任何给定的主题提供多个分区允许Kafka在Kafka集群中分发它。因此,处理来自不同分区的数据的请求可以在整个集群中的多个服务器之间进行划分。此外,每个分区可以在多个服务器上复制,以最大限度地减少数据丢失。再次从doc页面

因此,只有一个分区的主题不允许您使用这些灵活性。还要注意,在实际生活环境中,您可以使用不同的主题来保存不同类别的消息(尽管也可以使用多个分区的单个主题,其中每个分区在生成时都可以使用messgae键来保存特定类别的消息)。

我不认为创建多个主题而不是分区会对整体性能产生多大影响。但是想象一下,您想要跟踪用户在您的站点中发出的所有tweet。然后,您可以有一个名为“user_tweet”的主题和多个分区,这样,在生成消息时,Kafka可以跨多个分区分发数据,并且在消费者端,您只需要让一组消费者从同一主题中提取数据。相反,保留“user_tweet_1”、“user_tweet_2”、“user_tweet_3”只会在生成和使用消息时使事情变得复杂。

 类似资料:
  • 我指定“kafka_auto_create_topics_enable:'false'”是因为我想手工创建主题,所以我进入第一个broker容器并键入以下内容: ./kafka-topics.sh--创建--zookeeper 172.19.0.2:2181--主题test1--分区4--复制-因子3 看起来一切都很好: ./kafka-topics.sh--list--zookeeper 172

  • 我有3个Kafka经纪人在3个不同的VM,其中一个还运行一个Zookeeper。我现在创建一个有8个分区的主题。制作人在创建的“主题”上向这些经纪人组推送消息。 Kafka是如何在经纪人之间分配话题及其分区的? 当新的Kafka代理加入集群时,Kafka是否重新分发主题? 创建主题后是否可以增加主题分区?

  • 我是新的Kafka流,我正在使用它使一个主题的确切拷贝到另一个不同的名称。本主题有几个分区,我的制作者正在使用自定义分区。输出主题是用输入主题相同数量的分区预先创建的。 在我的应用程序中,我做了(我正在使用Kotlin): 除了分区(当然,我使用的是自定义分区器)之外,这是可行的。有没有一种简单的方法可以使用输入记录的相同分区将输入记录复制到输出主题? 显然,我可以在接收器中使用自定义分区器,但这

  • Kafka主题分区偏移位置始终从0或随机值开始,如何确保使用者记录是分区中的第一条记录?有没有办法找出答案?如果有的话,请让我知道。谢谢。

  • 获取全部话题 获取认证用户关注的话题或者专家话题 获取一个话题 关注一个话题 取消关注一个话题 获取话题下专家列表 批量获取专家列表 申请创建一个话题 获取全部话题 GET /question-topics 请求参数 名称 类型 描述 limit 数字 这次请求获取的条数,默认为 20 条,为了避免过大或者错误查询,设置了一个修正值,最大 50 最小 1 。 offset 数字 数据偏移量,用于

  • 话题为新 API 规范产物,服务器返回的时间均以 ISO 8601 Zulu 格式 yyy-mm-ddThh-ii-ssZ 格式返回。 List all topics(获取全部话题) GET /feed/topics 请求查询参数: Name Type Description q string 搜索关键词,允许任何字符串。 limit integer 本次请求请求的数据条数,默认 15 条,允许