Enforce First in First Out (FIFO) on Dedicated Queue Processors for specific case
Our application receives a lot of asynchronous updates on cases from external applications. We have dedicated Queue Processors with multiple partitions (20) for each to process these updates. Previously the same was processed by Standard Agents. As the standard agent uses a DB table to process the updates it naturally does FIFO. However for queue processors updates from the same case may go into different partitions and are being processed in a random order. From business point of view we would need all updates to be processed in sequence. We cannot reduce number of partitions to 1 as that would greatly reduce the throughput. Is there a way to set a Key on the message being posted on the Kafka topic for the queue processor, so that all updates for a particular case go to the same partition and therefore be processed in FIFO order?