Spring Cloud Stream provides support for partitioning data between multiple instances of an application. In the typical use case, the destination is viewed as being divided into different partitions. Each producer, when sending messages received by multiple consumer instances, ensures that data is identified by configured fields to force processing by the same consumer instance.
To enable the partitioning feature for your application, you have to define the partitionKeyExpression or partitionKeyExtractorClass properties, and partitionCount in the producer configuration settings. Here's the sample configuration that may be provided for your application:
spring.cloud.stream.bindings.output.producer.partitionKeyExpression=payload.customerId ...