美文网首页
RabbitMQ中间件

RabbitMQ中间件

作者: 凤凤思密达萌萌哒 | 来源:发表于2020-05-12 09:26 被阅读0次

    1、简介

    消息中间件也称消息队列,是指用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息队列模型,可以在分布式环境下扩展进程的通信。
    消息传递:指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信

    2、当下主流的消息中间件

    RabbitMQ、Kafka、ActiveMQ、RocketMQ

    3、作用

    冗余(存储)、扩展性、可恢复性、顺序保证、缓冲、异步通信、多语言客户端、管理界面、插件机制

    4、消息中间件的两种模式
    1、P2P模式

    1.三角色:
    消息队列Queue、发送者Sender、接收者Receiver

    2.P2P特点

    • 每个消息只有一个消费者(Consumer),即一旦被消费,消息就不再在消息队列中
    • 发送者和接收者之间在时间上没有依赖性,也就是说当发送者发送了消息之后,不管接收者有没有正在运行它不会影响到消息被发送到队列
    • 接收者在成功接收消息之后需向队列应答成功
    • 如果希望发送的每个消息都会被成功处理的话,那么需要P2P模式

    2、Pub/Sub模式

    1. 三角色:
      主题Topic、发布者Publisher、订阅者Subscriber
    1. 特点
    • 每个消息可以有多个消费者
    • 发布者和订阅者之间有时间上的依赖性。针对某个主题(Topic)的订阅者,它必须创建一个订阅者之后,才能消费发布者的消息
    • 为了消费消息,订阅者必须保持运行的状态
    • 如果希望发送的消息可以不被做任何处理、或者只被一个消息者处理、或者可以被多个消费者处理的话,那么可以采用Pub/Sub模型

    5、RabbitMQ的三种模式

    单一模式、普通模式、镜像模式(将消息队列做成镜像队列,存放于多个节点,属于HA方案。基于普通集群模式上配置镜像模式,实现高可用)

    6、RabbitMQ的集群节点

    1、内存节点:所有数据存储在内存
    2、磁盘节点保存状态到内存和磁盘

    7、RabbitMQ简介

    基于Erlong语言开发,基于AMQP协议实现。本身不支持反正;支持高并发、可扩展。支持AJAX、持久化,用于在分布式系统中存储转发消息

    8、了解RabbitMQ

    在RabbitMQ集群中,必须至少有一个磁盘节点,否则队列元数据无法写入集群中,当磁盘节点宕掉时,集群无法写入新的队列元数据信息。

    9、集群重启顺序

    启动顺序:磁盘节点--->内存结点
    关闭顺序:内存节点--->磁盘节点
    注意:最后关闭的一定时磁盘节点,否则会造成启动失败、数据丢失等异常情况。

    相关文章

      网友评论

          本文标题:RabbitMQ中间件

          本文链接:https://www.haomeiwen.com/subject/ezypnhtx.html