Zend certified PHP/Magento developer

Does Magento 2 launch all RabbitMQ consumers only by cron?

I am very surprised by the fact that I found that it seems that Magento 2 launches all RabbitMQ consumers only by cron.

I expected to see RabbitMQ as a separate application that accepts tasks from PHP / Magento code as input.

And later, RebbitMQ itself decides at what time to call the Magento 2 API and give some task for processing.

Can anyone clarify this question for me?

I expected to see RabbitMQ as a separate application that runs in a separate process and only receives tasks for execution and then calls the Magento API to process the task.

I had a better opinion of Magento 2 architects. But perhaps this is the only possible way to do it. Or not?