Apache kafka 卡夫卡流容错理解

Apache kafka 卡夫卡流容错理解,apache-kafka,kafka-consumer-api,apache-kafka-streams,confluent-platform,Apache Kafka,Kafka Consumer Api,Apache Kafka Streams,Confluent Platform,我有以下几点:- 具有20个分区的单个主题 我有10个单独的实例为streams应用程序供电(这些实例使用上述主题),在配置中的每个Stream应用程序上,我添加了NUM_Stream_THREADS_CONFIG=5 以下理解正确吗 那么我最多可以有50个(10*5)逻辑任务,但由于分区的数量不是20个,所以只能增加20个任务 此外,由于流任务的分区分配是偶数的,每个分区是否会分配给20个任务中的每一个,即每个任务在单个分区上工作 到目前为止正确吗 感谢您的回复。是的,只要有20个分区

我有以下几点:-

  • 具有20个分区的单个主题
  • 我有10个单独的实例为streams应用程序供电(这些实例使用上述主题),在配置中的每个Stream应用程序上,我添加了NUM_Stream_THREADS_CONFIG=5
以下理解正确吗

  • 那么我最多可以有50个(10*5)逻辑任务,但由于分区的数量不是20个,所以只能增加20个任务
此外,由于流任务的分区分配是偶数的,每个分区是否会分配给20个任务中的每一个,即每个任务在单个分区上工作

到目前为止正确吗


感谢您的回复。

是的,只要有20个分区,就不能有超过20个Kafka使用者任务


由于您在10个实例中最多配置了50个任务,因此无法保证哪些实例将启动任务。最坏的结果可能是4个实例,每个实例有5个任务,最好是10个实例,每个实例有2个任务。

看来您的理解是正确的。你有什么问题吗?或者你只是想确认一下?嘿,卡尔森,是的,我在找这个领域的专家,来确认一下!你确定这个@kazzaki??Kafka会不会在内部进行负载平衡,并为每个活动流任务分配2个分区,分布在10台机器上??因此,在10个实例中的每个实例上都应该有2个任务处于活动状态!!!对虽然它最终将在哪里结束取决于许多因素/配置。您可以在此处阅读消费者再平衡协议的更多详细信息微调消费者和kaka配置是增加更改以满足10x2最佳点的关键。实际上,KafkaStreams知道每个实例的实例和线程。它将跨实例分配任务(基于实例的容量,即线程数)。因为所有实例都有相同数量的线程,所以可以预期每个实例将获得相同数量的任务分配。(答案输入错误?->
已经配置了50个任务
->应该是
50个线程
我猜)?