I maintain and develop a message queue-based architecture at work (started around 2014), so here's my take:
* message queues solve some problems that are nowadays easily solved by cloud or k8s or other "smart" infrastructure, like service discovery, load balancer, authentication
* the tooling for HTTPS has gotten much better, so using something else seems less appealing
* it's much easier to get others to write a HTTPS service than one that listens on a RabbitMQ queue, for example
* testing components is easier without the message queue
* I agree with your point about databases
* the need for actual asynchronous and 1:n communication is much lower than we thought.
* message queues solve some problems that are nowadays easily solved by cloud or k8s or other "smart" infrastructure, like service discovery, load balancer, authentication
* the tooling for HTTPS has gotten much better, so using something else seems less appealing
* it's much easier to get others to write a HTTPS service than one that listens on a RabbitMQ queue, for example
* testing components is easier without the message queue
* I agree with your point about databases
* the need for actual asynchronous and 1:n communication is much lower than we thought.