rabbitmq有哪些使用场景呢?
下文笔者讲述rabbitmq的使用场景简介说明,如下所示
跨系统的异步通信
异步交互的所有场景 都可以使用消息队列 如:招商短信的发送
多个应用之间的耦合
由于消息是平台无关和语言无关的 而且语义上也不再是函数调用 因此更适合作为多个应用之间的松耦合的接口 基于消息队列的耦合 不需要发送方和接收方同时在线 在企业应用集成(EAI)中, 文件传输,共享数据库,消息队列,远程过程调用都可以作为集成的方法
应用内的同步变异步
如订单处理 就可以由前端应用将订单信息放到队列 后端应用从队列里依次获得消息处理 高峰时的大量订单可以积压在队列里慢慢处理掉 由于同步通常意味着阻塞,而大量线程的阻塞会降低计算机的性能
消息驱动的架构(EDA)
系统分解为消息队列和消息制造者和消息消费者 一个处理流程可以根据需要拆成多个阶段(Stage)阶段之间用队列连接起来 前一个阶段处理的结果放入队列 后一个阶段从队列中获取消息继续处理 如:电商场景的订单(分了很多状态,其实都是MQ的消费场景)
应用需要更灵活的耦合方式
如发布订阅,比如可以指定路由规则
跨局域网
甚至跨城市的通讯(CDN行业) 如上海机房与日本机房的应用程序的通信
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。