I have read in a DDD book that using message queues between communicating services can make the whole architecture more scalable, amazon's documentation mentions that queues provide granular scalability. I don't see how it is 'more' scalable than services communicating synchronously using http. I agree that it scales more gracefully, for eg., if we use the queue size as an indicator to grow and shrink the number of consumers if required.
But that doesn't mean that it is impossible to scale without queues right ? And for granular scalability, any microservice based architecture can scale individual services independently to achieve the same right ? Am I missing something here ?
Note: I'm only curious about the scalability side of this, I'm aware of other benefits of queues like better decoupling, availability. I agree that queues scale more gracefully but don't see why its impossible without them.