4.1 初识MQ

一、同步通信

  1. 优点:

    1. 时效性比较强,可以立即得到结果

  2. 缺点

    1. 耦合性高

    2. 性能下降

    3. 资源浪费

    4. 级联失败

二、异步通信

  1. 常见实现方式:事件驱动模式

  2. 优势

    1. 服务解耦

    2. 性能提升,吞吐量提高

    3. 服务没有强依赖,不必担心级联失败的问题,故障隔离

    4. 流量削峰

  3. 缺点

    1. 依赖于Broker的可靠性、安全性、吞吐能力

    2. 架构复杂了,业务没有明显的流程线,不好追踪管理

三、MQ常见框架

  1. 什么是MQ:

    MessageQueue,中文是消息队列,字面看起来就是存放消息的队列,也就是事件驱动架构中的Broker

  2. MQ分析:

    RabbitMQ
    ActiveMQ
    RocketMQ
    Kafka

    公司/社区

    Rabbit

    Apache

    阿里

    Apache

    开发语言

    Erlang

    Java

    Java

    Scala&Java

    协议支持

    AMQP、XMPP、SMTP、STOMP

    OpenWlre、STOMP、REST、XMPP、AMQP

    自定义协议

    自定义协议

    可用性

    一般

    单机吞吐量

    一般

    非常高

    消息延迟

    微秒级

    毫秒级

    毫秒级

    毫秒以内

    消息可靠性

    一般

    一般

    选择:中小型,吞吐量不大:RabbitMQ, 中大型:RockerMQ

最后更新于

这有帮助吗?