RabbitMQ 系列——1.初始

目录

AMQP

advanced message queue protocol

  1. virtual host(虚拟机)

    • 一个虚拟机持有一组交换机,队列,绑定;
    • 用户只能在虚拟机的粒度进行权限控制;
    • 每个QabbitMQ服务器都有一个默认的虚拟机’/’;
  2. exchange(交换机)

    • 交换机是存储路由绑定的路由表;
    • 交换机分类:
      • Fanout Exchange: 将消息发送到绑定于该交换机的所有队列;
      • Direct Exchange: 将消息发送到指定关键字队列;
      • Topic Exchange: 模式匹配路由键;
  3. queue(队列)

    • 队列是消息的容器;
    • 队列是消费者通过程序创建的;
  4. binding(绑定)

    • 用于将队列注册到交换机中;

RabbitMQ

  • 介绍:
    RabbitMQ 是基于 AMQP 协议实现的消息队列;

  • 特点:
    RabbitMQ 支持消息持久化;
    RabbitMQ可以和python无缝结合;

RabbitMQ 消息持久化

  • RabbitMQ默认不会持久化消息,队列,交换机的。需要持久化消息则要进行以下配置:
    • 将交换机设置成durable;
    • 将队列设置成durable;
    • 将消息 Delivery Mode 配置成 2;

如果绑定了一个 durable 交换机 和 一个 durable 队列,则该binding也是自动持久化的;


kombu

介绍

  • kombu是一个python的消息处理库;

消息的使用场景设想

  1. request/reply
    请求/应答场景指一个消息会被发送到指定的接受者手中,由direct 交换机实现;
  2. broadcast
    广播应用场景指一个消息将会官博到所有消费者,由fanout交换机实现;
  3. push/subscribe
    推送/主题应用场景指一个消息会根据主题将自己推送到对应主题的消费者,由topic交换机实现;

消息可靠性

  • AMQP定义了两种内置的传输模式:

    1. persistent(持久化)
      消息将会写到磁盘上,重启后可恢复;
    2. transient(暂存)
      数据只会暂存到内存中,无法在重启时恢复;

    消息持久化会消耗一定的资源,但是对于一些必须持久化数据的应用,这些消耗是需要的;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值