rabbitMQ消息队列 – exchange解析

Server 林涛 6970℃ 0评论

##exchange
我跟根据上一节.介绍了.如果要创建一个交换机.则执行通道对象的exchange_declare创建
代码如
$channel->exchange_declare('TestExchange', 'direct', false, true, false);
那么接下来对这个方法做一下参数说明

首先我们参照类库的代码截图

  1. $exchange 交换机的名称
  2. $type 交换机的类型
    这个类型支持三种
    Direct 发送给绑定的完全匹配的队列

    Fanout 发送过所有绑定的队列.

    Topic 发送给所有绑定的而且通过通配符可以匹配的队列.

强烈建议查看下边的参考文献如果搬上来怕一时半会讲不完.

  1. $passsive 被动查询
     如果你希望查询交换机是否存在.而又不想在查询时创建这个交换机.设置此为true即可
    如果交换机不存在,则会抛出一个错误的异常.如果存在则返回NULL

  2. $durable 表示了如果MQ服务器重启,这个交换机是否要重新建立
    我们的案例代码有点类似于在服务器设立一个数据库内存表,并且每次访问都要判定内存表是否存在.
    而如果开启了这个属性,则相当于建了一个永久表.以后直接访问即可.不需要每次都判定是否存在.如同访问MYSQL

  3. $auto_delete如果绑定的所有队列都不在使用了.是否自动删除这个交换机.

  4. $internal 内部交换机.即不允许使用客户端推送消息.MQ内部可以让交换机作为一个队列绑定到另外一个交换机下.想想一下以太网的交换机就是了.所以开启这个属性,表示是一个他直接收其他交换机发来的信息

  5. $nowait 如果为True则表示不等待服务器回执信息.函数将返回NULL,可以提高访问速度..应用范围不确定

  6. $arguments 额外的一些参数,比如优先级,什么的.需要单独开篇讲

  7. ticket 这个参数确实没找到资料.先略过.
    出一个表格在整理下

顺序 参数名 默认值 作用
1 $exchange 交换机名
2 $type 交换机类型
3 $passsive false 只判断不创建
4 $durable false 重启重建
5 $auto_delete true 无用自动销毁
6 $internal false 内部交换机
7 $nowait false 执行后不需要等结果
8 $arguments null 额外的一些参数
9 $ticket null 鬼知道干什么用的属性

如需转载请注明: 转载自26点的博客

本文链接地址: rabbitMQ消息队列 – exchange解析

转载请注明:26点的博客 » rabbitMQ消息队列 – exchange解析

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情