Message buses and queues are far, far easier to manage than API endpoints across a bunch of loci of control, so this may be why it&#x27;s not discussed as much as, say, how the lifecycle of REST services work. Topics and queues with different segmentation features are much more powerful and fine-grained in control compared to a service that&#x27;s tied to HTTP transport than, say, a REST or SOAP API. For object serialization &#x2F; marshaling, you can use a lot more stuff now all of a sudden like Protocol Buffers, Capn Proto, Thrift, Avro. The recommended advice comes down to what your bus &#x2F; queue is (each one offers vastly different best practices and features to implement them) as well as how you want to scale out and up. But perhaps a general set of terminologies &#x2F; jargon may be worth pursuing as a community for the problem.<p>The question I really have is how people have managed to upgrade their message bus and to keep availability high with rollback contingencies while upgrading, say, RabbitMQ or Kafka across all your connected services. I really don&#x27;t hear about that as much as how to do rolling restarts &#x2F; upgrades of nodes for a service endpoint using some feedback from monitoring and metrics.