摘要:當(dāng)關(guān)閉的時候,隊列將被刪除。空是自動刪除綁定隊列和交換機(jī),生成發(fā)送消息到隊列持久化,重啟不會丟失,默認(rèn)為,重啟會丟失
環(huán)境
1.安裝rabbit
php使用安裝包,直接安裝composer 安裝php-amqplib/php-amqplib 這個包生產(chǎn)著
連接mq server
require_once __DIR__."/vendor/autoload.php"; use PhpAmqpLibConnectionAMQPStreamConnection; use PhpAmqpLibExchangeAMQPExchangeType; use PhpAmqpLibMessageAMQPMessage; $connection = new AMQPStreamConnection("127.0.0.1", 5672, "guest", "guest", "yedong_test"); //連接server $channel = $connection->channel(); //創(chuàng)建通道
創(chuàng)建交換機(jī)
$exchange="example_direct_exchange"; /* name: $exchange type: fanout 交換機(jī)類型 passive: false // don"t check if an exchange with the same name exists durable: false // the exchange won"t survive server restarts //是否是持久化 auto_delete: true //the exchange will be deleted once the channel is closed. */ $channel->exchange_declare($exchange, AMQPExchangeType::DIRECT, false, true, true);
3.創(chuàng)建隊列
//參數(shù) $queue = "", //隊列名稱 $passive = false, //檢查是否村子啊 $durable = false, //是否持久化 $exclusive = false, //排外,①當(dāng)前定義的隊列是connection的channel是共享的,其他的connection是訪問不到的。②當(dāng)connection關(guān)閉的時候,隊列將被刪除。 $auto_delete = true, //空是自動刪除 $nowait = false, // $arguments = array(), $ticket = null ![clipboard.png](/img/bVbrPP9) $channel->queue_declare("test_queue_3",true,true,false,false,false,[],null);
4.綁定隊列和交換機(jī),生成routing_key
$channel->queue_bind("example_direct_queue_2",$exchange,"routeTest1");
5.發(fā)送消息到隊列
![clipboard.png](/img/bVbrPRr) $msg = new AMQPMessage($i, ["content_type" => "text/plain","delivery_mode"=>2]); //2:持久化,重啟不會丟失,默認(rèn)為1,重啟會丟失 $channel->basic_publish($msg, $exchange,"routeTest1");
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/31311.html
摘要:而調(diào)用后端服務(wù)就應(yīng)用了的高級特分布式配置管理平臺后端掘金輕量的分布式配置管理平臺。關(guān)于網(wǎng)絡(luò)深度解讀后端掘金什么是網(wǎng)絡(luò)呢總的來說,網(wǎng)絡(luò)中的容器們可以相互通信,網(wǎng)絡(luò)外的又訪問不了這些容器。 在 Java 路上,我看過的一些書、源碼和框架(持續(xù)更新) - 后端 - 掘金簡書 占小狼轉(zhuǎn)載請注明原創(chuàng)出處,謝謝!如果讀完覺得有收獲的話,歡迎點(diǎn)贊加關(guān)注 物有本末,事有終始,知所先后,則近道矣 ......
摘要:安裝上使用安裝,會把的環(huán)境一同裝上,首先更新然后再在此處直接安裝的時候會出現(xiàn)下載失敗的情況,反復(fù)嘗試多次,并且修改了清華的鏡像之后也不管用。 RabbitMQ 安裝 mac上使用homebrew安裝rabbitmq,會把Erlang的環(huán)境一同裝上,首先更新homebrew brew update 然后再 brew install rabbitmq 在此處直接安裝rabbitmq的時候會...
摘要:在客戶端中,當(dāng)我們將隊列名稱作為空字符串提供時,我們創(chuàng)建一個帶有生成名稱的非持久隊列方法返回時,變量包含一個隨機(jī)生成的隊列名稱。交換和隊列之間的關(guān)系稱為綁定。 使用 php-amqplib 介紹 在前面的教程中,我們創(chuàng)建了一個工作隊列。工作隊列背后的假設(shè)是每個任務(wù)都交付給一個工作人員處理。在這一部分中,我們將做一些完全不同的事情——我們將向多個消費(fèi)者發(fā)送消息。此模式稱為發(fā)布/訂閱。 ...
摘要:的定義是使用語言開發(fā)的開源消息隊列系統(tǒng),完整的實(shí)現(xiàn)了高級抽象層消息通信協(xié)議。交換機(jī)接受發(fā)送的消息,并根據(jù)綁定規(guī)則轉(zhuǎn)發(fā)到對應(yīng)的隊列。默認(rèn)是無名交換使用空字符串標(biāo)識。消息隊列是內(nèi)部對象,用于存儲未被消費(fèi)的消息。 RabbitMQ的定義 RabbitMQ是使用erlang語言開發(fā)的開源消息隊列系統(tǒng),完整的實(shí)現(xiàn)了AMPQ(高級抽象層消息通信協(xié)議)。 Mac下RabbitMQ安裝 使用Hom...
摘要:通道,建立一個訪問通道。隊列,每個消息都會被投入到一個或多個隊列。路由,根據(jù)這個關(guān)鍵字進(jìn)行消息投遞。消息消費(fèi)者,就是接受消息的程序。 給自己做一個記錄 本文主要介紹有一下 1.RabbitMQ是概念 2.RabbitMQ在windows上安裝,啟動,關(guān)閉 3.RabbitMQ其他小介紹 下面一步一步走起來 1.RabbitMQ是概念 RabbitMQ是一個建立在AMQP(高級消息隊列協(xié)...
閱讀 1161·2021-11-16 11:45
閱讀 1015·2021-09-04 16:41
閱讀 3077·2019-08-29 16:40
閱讀 2852·2019-08-29 15:34
閱讀 2672·2019-08-29 13:11
閱讀 1734·2019-08-29 12:58
閱讀 1726·2019-08-28 18:00
閱讀 1775·2019-08-26 18:26