在我的 Producer application.properties 中,我有
spring.cloud.stream.bindings.output.producer.partitionKeyExpression=payload
spring.cloud.stream.bindings.output.producer.partitionCount=4
我的消费者 application.properties 看起来像这样
spring.cloud.stream.bindings.input.consumer.partitioned=true
spring.cloud.stream.bindings.input.group=group01
当我将我的应用程序部署到 Pivotal Cloud Foundry 并将应用程序扩展到 2 个实例时,我看到创建了两个队列。它们以后缀 -0 和 -1 为界。
但这意味着如果消息带有以 -3 或 -4 结尾的主题,那么它们就会丢失,因为这些主题不存在绑定。如果我将消费者缩放为拥有 4 个实例,那么它会按预期工作。
我的问题是消费者实例不可能少于生产者的 partitionCount 吗?在这种情况下,一个或多个队列将有多个绑定到交换