1. 中间件集合

注解

  • 创建于2021年1月24日
  • 更新于2022年8月13日

1.1. 消息队列

基本知识

  1. 消息队列主要应用的业务场景:解耦、错峰和流控、广播、最终一致性。
    • 消息队列(MQ)是一种能实现生产者到消费者单向通信的通信模型,一般来说是指实现这个模型的中间件。
    • 如:RabbitMQ、ActiveMQ、Kafka等
    ../../_images/queue.png
  2. 为什么需要消息队列?

    比如下面的场景 A–>B,A请求端、B是后端处理端,如果没有消息队列,A的每一次操作都要同时触发B端,意味着A的直接对接者是B,对于大流量的场景这样会对接口造成很大的压力。 A–>[队列]–>B/C/D……,A间接服务于B,B何时处理A的请求就由B自身来决定了。而且接入者可以是C/D等。

  3. RPC和MQ的区别?
    • RPC(Remote Procedure Call)远程过程调用,主要解决远程通信间的问题,不需要了解底层网络的通信机制。
      • 如阿里的dubbo。
    • 区别:对于实时性高的场景优先考虑RPC,对于流量控制、解耦等优先考虑MQ。

1.2. RabbitMQ