Ceilometer 17、rabbitmq原理介绍

本文详细介绍了RabbitMQ的消息处理过程,包括生产者将信息发送到交换机,交换机通过不同类型的交换机(如fanout、direct、topic)将信息路由到队列。此外,还讲解了基于RabbitMQ的消息队列实现RPC远程进程通信的原理,以及列出RabbitMQ中常用命令如列出交换机、绑定和队列。
摘要由CSDN通过智能技术生成

1 rabbitmq消息处理过程

生产者将信息发送到交换机,交换机根据绑定键将信息发送到队列,消费者从队列中获取数据。
交换机知道信息到达时应该如何处理它。
如何处理就是根据交换机的类型确定的。

2 交换机以及绑定


交换机类型: direct, topic, headers, fanout
关于交换机和队列,存在绑定关系,具体语法如下:
channel.queue_bind(exchange=exchange_name,
                   queue=queue_name)
表示队列对来自于某个交换机上的信息感兴趣
channel.queue_bind(exchange=exchange_name,
                   queue=queue_name,
                   routing_key='black')
绑定可以添加额外的参数: routing_extra,,为了避免与basic_publish
参数的混淆,我们称它为绑定键binding key。
这意味着绑定键依赖于交换机类型,对于fanout,忽略绑定键。

2.1 fanout交换机


如果交换机类型为: fanout:广播信息到所有队列上
消息队列模型如下:

Producer ---> Exchange(type=fanout) ---> amq.gen-RQ6... ---> Consumer1
                    ---> amq.gen-RQ6... ---> Consumer2

2.2 direct交换机


交换机类型如果为: direct.那么绑定键会正确匹配消息的路由键。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值