非常流行的使用场景是利用发布-订阅模式。例如,发送一条命令消息到应用层来处理业务逻辑。完成后,发布一条消息,其中包含任何更新的数据,多个服务监听该消息,比如一组缓存。并行版本控制有益处。新的命令可以有不同的名称。如果您想使用Command Query Separation也会有帮助。另一个例子是实现特定消息监听的横切关注点。总之,这是一个非常深入的主题。然而,我首先会问您有哪些问题?因为它带来了自己的挑战,并且肯定不是免费的(我的意思是在努力方面,而不是成本方面)。
我们正在使用RabbitMQ进行消息排队。它是快速而强大的生产者-消费者解决方案。我们同时使用瞬态和持久性交付类型。瞬态消息用于软实时计算更新。持久性消息用于实体状态更新,主要用于将数据库更新传输到其他服务。