Just a slight disagreement: to me the ‘native’ performance of the platform doesn’t equal scalability. I always understood scalability as a platform’s ability to adapt to demand beyond its core.

If either platform was a highway, Kafka’s is wider naturally. Assuming you go by hitting limits, you would hit Rabbit’s first.

Nevertheless it is so much easier to scale Rabbit. It responds better to higher resource allocation (particularly in terms of cpu) but also it’s much easier to scale a cluster regardless of platform (whether bare metal or container).

Kafka can be very diffocult to scale depending exactly on what you use in the platform. It has many moving parts making some use cases better equipped for scaling than others.

Add to that the very thing you also mentioned, that rabbit queues can be consumed in parallel with the caveat on delivery order (as opposed to Kafka limit on partitions) and I would call scaling hands down on rabbit’s side (with some footnotes).

And furthermore, also depending on use case, for scaling you may need to have your application code make up for shortcomings on Kafka’s side.