MQ-面试题
参考文献
消息队列使用场景
异步处理
优点:
可以更快地返回结果;
减少等待,自然实现了步骤之间的并发,提升系统总体的性能.
流程控制
优点:
能根据下游的处理能力自动调节流量,达到“削峰填谷”的作用
缺点:
增加了系统调用链环节,导致总体的响应时延变长.
上下游系统都要将同步调用改为异步消息,增加了系统的复杂度.
服务解耦
作为发布 / 订阅系统实现一个微服务级系统间的观察者模式;
连接流计算任务和数据;
用于将消息广播给大量接收者.
消息中间件的选择
RabbitMQ
优点
RabbitMQ 的架构简单,易于上手,开发人员可以快速使用.
RabbitMQ 提供了丰富的消息模式,例如发布-订阅模式、工作队列模式、RPC 模式等.
RabbitMQ 支持各种消息传递协议,包括 AMQP、MQTT、STOMP 等.
RabbitMQ 的可靠性较高,支持持久化消息,可以确保消息不会丢失.
缺点
RabbitMQ 的性能较低,不适合处理高吞吐量的消息.
RabbitMQ 的可扩展性有限,节点的数量和规模受限于 Erlang VM 的性能.
Rabbit ...