Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 卡夫卡主题vs分区主题_Java_Apache Kafka_Kafka Consumer Api - Fatal编程技术网

Java 卡夫卡主题vs分区主题

Java 卡夫卡主题vs分区主题,java,apache-kafka,kafka-consumer-api,Java,Apache Kafka,Kafka Consumer Api,我想知道简单主题和分区主题有什么区别。根据我对平衡负载的理解,主题已经被分区了,每个消息都有偏移量,使用者将确认以确保以前的消息已被使用。如果没有分区和使用者不匹配,kafka会有效地管理重新平衡 如果创建多个主题而不是分区,是否会影响操作效率 从 日志中的分区有多种用途。首先,它们允许日志扩展到适合单个服务器的大小之外。每个单独的分区必须适合承载它的服务器,但是一个主题可能有许多分区,因此它可以处理任意数量的数据 对于任何给定主题都有多个分区允许Kafka在Kafka集群中分布它。因此,处理来

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

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

日志中的分区有多种用途。首先,它们允许日志扩展到适合单个服务器的大小之外。每个单独的分区必须适合承载它的服务器,但是一个主题可能有许多分区,因此它可以处理任意数量的数据

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

日志分区分布在Kafka集群中的服务器上,每个服务器处理数据和共享分区的请求。每个分区跨可配置数量的服务器进行复制,以实现容错

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

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