P是消息 X是交換機(jī) 紅色格子是消息隊(duì)列
我們模擬代碼測(cè)試如下驗(yàn)證:
1、是否忽略routing_key
2、發(fā)送給綁定交換機(jī)中的所有隊(duì)列
發(fā)送信息的代碼:send.php
<?php$connect = new AMQPConnection();$connect->connect();$channel = new AMQPChannel($connect);$exchange = new AMQPExchange($channel);$exchange->setName('error');$exchange->publish("send message content",'routing_key');$connect->disconnect();?>
接收信息的代碼:receive.php
<?php//鏈接$connect = new AMQPConnection();$connect->connect() || die('鏈接服務(wù)器失敗');//通道$channel = new AMQPChannel($connect);//交換機(jī)$exchange = new AMQPExchange($channel);$exchange->setName('error');$exchange->setType(AMQP_EX_TYPE_FANOUT);$exchange->declare();//隊(duì)列$queue = new AMQPQueue($channel);$queue->setName('queue_name');$queue->declare();$queue->bind('error', 'routing_key');while (true) { $queue->consume('callback');}function callback($envelope, $queue) { var_dump($envelope->getBody()); $queue->nack($envelope->getDeliveryTag());}?>1、驗(yàn)證 是否忽略routing_key
send.php中routing_key改為其他的比如 routing_key_test 測(cè)試結(jié)果如下
receive.php復(fù)制創(chuàng)建文件receive_new.php并把receive_new.php中的queue_name 改為 queue_name_test
這樣我們測(cè)試交換機(jī)是否發(fā)送給了綁定這兩個(gè)消息隊(duì)列
可以看出消息同時(shí)發(fā)送給兩個(gè)隊(duì)列
PHP編程鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注