对此进行解释-https://docs.spring.io/spring-cloud-stream/docs/current/reference/htmlsingle/#_producer_properties
我的理解是,如果partitionCount重写小于现有kafka主题上的实际分区数,那么生产者应使用实际分区数,而不是override值。我的经验是,无论kafka主题上实际配置了多少个分区(> partitionCount),生产者都使用partitionCount值。理想情况下,我希望制作人从kafka读取预先配置的主题上的分区数,并在所有可用分区上写消息。
application.yml:
spring:
application:
name: my-app
cloud:
stream:
default:
contentType: application/json
kafka:
binder:
brokers:
- ${KAFKA_HOST}:${KAFKA_PORT}
auto-create-topics: false
bindings:
input-channel:
destination: input-topic
contentType: application/json
group: input-group
output-channel:
destination: output-topic
contentType: application/json
producer:
partition-count: 2
partition-key-expression: payload['Id']
因此,我希望如果输出主题已经配置了6个分区,则生产者将识别出该分区并将其写入所有分区。有人可以在上面验证我的解释吗?还是指出我缺少想要的功能?