3 ms·
There's quite a lot of conflicting information here. On the comparison of queues, wrt ordering, it states: Ensure strict ordering of messages, have no hot
by nicktelford 9y ago
There's quite a lot of conflicting information here.
On the comparison of queues, wrt ordering, it states:
Ensure strict ordering of messages, have no hot spot problem,and can scale out gracefully
And slates Kafka with:
Ensure ordering of messages within a partition
But then on the "core concept" page it states:
Topic is partitioned into one or more sub-topics, “message queues”.
And:
Consuming messages orderly means messages are consumed the same order they are sent by producers for each message queue. If you are dealing with scenario that global order is mandatory, make sure the topic you use has only one message queue.
Which amounts to exactly the same as Kafka, albeit with "partitions" renamed "message queues".
- squeaky-clean 9y agoA Kafka topic is more synonymous with a "message queue" and a partition is a division among hardware for parallelism. So you can have one topic, partitioned to 5 consumers, and each consumer storing the received events. Each consumer will see their own messages in-order, but if you merge the 5 it is not guaranteed to be ordered. I'd guess this is what RocketMQ means by "scale out gracefully"
- nicktelford 9y agoIn Kafka, multiple consumers can recieve multiple partitions. The only thing, from a consumer's perspective, that's special about partitions is that it's the level at which message ordering is guaranteed. That's exactly the same semantics provided by RocketMQ's "message queues", from what I can tell - except perhaps that these message queues are explicitly subscribed to? If that's the case, you can do that in Kafka too, but it's generally discouraged, as it can lead to performance problems.
- yukon 9y agoHi, There is nothing about `rename`, RocketMQ has different storage architecture than Kafka. see https://rocketmq.incubator.apache.org/rocketmq/how-to-support-more-queues-in-rocketmq/ https://rocketmq.incubator.apache.org/rocketmq/how-to-suppor...