【问题标题】:Kafka Sticky Partitioner using spring cloud stream使用 Spring Cloud Stream 的 Kafka Sticky Partitioner
【发布时间】:2021-09-13 22:13:04
【问题描述】:

我正在为 Kafka 消费者/生产者使用 Spring Cloud Stream。

我们有多个生产者,它们定义为:

producer:
  partitionKeyExpression: payload.partitionKey

我们确实有没有这样定义的生产者,它似乎使用了默认的分区器。

在payload.paritionKey为null的情况下是否会发生粘性分区?
是不是默认的partitioner,在没有定义patitionKeyExpression/header的时候会设置paritionKey为null,会发生sticky paritioner?

【问题讨论】:

  • 这里有一篇博客详细介绍了 Kafka binder 中的生产者分区:spring.io/blog/2021/02/03/…。您可能想了解一些其他详细信息。

标签: apache-kafka spring-cloud-stream


【解决方案1】:

如果没有partitionKeyExpression,则由KafkaProducer决定分区。

查看生产者配置的信息日志。默认分区器是

partitioner.class = class org.apache.kafka.clients.producer.internals.DefaultPartitioner

您可以通过 binder 或 binding 属性配置所需的任何分区器。

【讨论】:

    猜你喜欢
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-05
    • 2019-02-15
    相关资源
    最近更新 更多