You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I believe this is to allow for concurrent processing of messages from different partitions while preserving ordering within a partition. This is desirable, and I think it works well if you are subscribed to a single topic.
However, it is possible to subscribe to multiple topics/channels, in which case it will dispatch messages with the same partition number to the same swimlane, even if they are from different topics. I don't think there are any ordering guarantees for messages in different topics (even if they have the same partition number), so MessageConsumerKafkaImpl should probably allow you to process messages from different topics concurrently. Otherwise messages that may be slow to process from (Topic A, Partition 1) will unnecessarily delay processing of messages from (Topic B, Partition 1).
The text was updated successfully, but these errors were encountered:
Currently, it looks like MessageConsumerKafkaImpl passes a record's partition number as the "swimlane" to a SwimlaneBasedDispatcher:
eventuate-messaging-kafka/eventuate-messaging-kafka-consumer/src/main/java/io/eventuate/messaging/kafka/consumer/MessageConsumerKafkaImpl.java
Lines 42 to 44 in a8d2c99
I believe this is to allow for concurrent processing of messages from different partitions while preserving ordering within a partition. This is desirable, and I think it works well if you are subscribed to a single topic.
However, it is possible to subscribe to multiple topics/channels, in which case it will dispatch messages with the same partition number to the same swimlane, even if they are from different topics. I don't think there are any ordering guarantees for messages in different topics (even if they have the same partition number), so MessageConsumerKafkaImpl should probably allow you to process messages from different topics concurrently. Otherwise messages that may be slow to process from (Topic A, Partition 1) will unnecessarily delay processing of messages from (Topic B, Partition 1).
The text was updated successfully, but these errors were encountered: