日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

以PHP代碼為實例詳解RabbitMQ消息隊列中間件的6種模式

瀏覽:307日期:2022-06-10 15:45:11
目錄
  • RabbitMQ 6種工作模式
    • 安裝
    • 6種模式
  • 最后

    RabbitMQ 6種工作模式

    對RabbitMQ 6種工作模式(簡單模式、工作模式、訂閱模式、路由模式、主題模式、RPC模式)進行場景和參數(shù)進行講解,PHP代碼作為實例。

    安裝

    客戶端實現(xiàn):添加擴展,執(zhí)行composer.phar install命令

    {    "require": {"php-amqplib/php-amqplib": ">=3.0"    }}

    引入包

    require_once __DIR__ . "/vendor/autoload.php";use PhpAmqpLib\Connection\AMQPStreamConnection;use PhpAmqpLib\Message\AMQPMessage;

    建立一個鏈接,

    # 鏈接服務(wù)$connection = new AMQPStreamConnection("127.0.0.1", 5672, "stark", "1990@stark");$channel = $connection->channel();$channel->queue_declare("hello", false, false, false, false);$msg = new AMQPMessage("Hello World!");$channel->basic_publish($msg, "", "hello");echo " [x] Sent "Hello World!"\n";# 關(guān)閉信道和鏈接$channel->close();$connection->close();

    6種模式

    1.簡單模式

    簡單模式是最簡單的使用方式,P代表生產(chǎn)者,C代表消費者,紅色的代表隊列,執(zhí)行過程生產(chǎn)者發(fā)送消息到隊列,右面的消費者消費消息,需要注意的是這里沒有交換機。

    生產(chǎn)者代碼(PHP)

    # 聲明隊列$queueName = "MqName";$channel->queue_declare($queueName, false, false, false, false);

    queue_declare 參數(shù)說明:

    • 隊列名
    • 檢測隊列是否存在,true只檢測不創(chuàng)建,false會創(chuàng)建
    • 是否持久化隊列,true持久化
    • 是否私有隊列 true代表私有
    • 當(dāng)消費者斷開后,隊列是否自動刪除
    # 創(chuàng)建AMQP消息類型$msg = new AMQPMessage($data,    array("delivery_mode" => AMQPMessage::DELIVERY_MODE_PERSISTENT));

    AMQPMessage 參數(shù)說明: 1.消息體 2.是否持久化

    $channel->basic_publish($msg, "", $queueName);

    basic_publish參數(shù)詳解:

    • 發(fā)送內(nèi)容
    • 交換機名稱,簡單模式?jīng)]有使用交換機
    • 隊列名稱

    消費者代碼:

    $channel->basic_consume("hello", "", false, true, false, false, $callback);# 阻塞隊列,做監(jiān)聽while ($channel->is_open()) {    $channel->wait();}

    basic_consume 參數(shù)說明:

    • 隊列名
    • 消費者標簽
    • AMQP標準
    • 是否自動應(yīng)答 ack true 自動應(yīng)答,false應(yīng)答
    • 是否排他
    • ?
    • 回調(diào)函數(shù)

    2.工作模式

    它由一個生產(chǎn)者發(fā)送在隊列中,work隊列會分配消息給不同的消費者,讓每個消費者接收到不同的消息。

    工作模式的場景特別適合集群模式的異步處理,最大程度發(fā)揮每一臺服務(wù)器的性能。

    3.訂閱模式

    從訂閱模式開始就使用了交換機,訂閱模式使用了廣播類型的交換機,它會讓每個隊列的消息都是一樣的。

    生產(chǎn)者把消息發(fā)送給交換機,交換機把消息發(fā)送給和它綁定的隊列,讓消費者來消費,需要強調(diào)的是綁定的隊列獲得的消息是一模一樣的,訂閱模式就是讓所有的消費者獲得相同的消息。

    訂閱模式使用場景,天氣、微博的訂閱,收費文章的訂閱等等。

    生產(chǎn)者實現(xiàn):

    $channel->exchange_declare("logs", "fanout", false, false, false);# 綁定交換機和隊列$channel->queue_bind($queue_name, "logs");

    交換機參數(shù)詳解:

    • 交換機名
    • 交換機類型
    • 檢查是否存在
    • 是否持久化
    • 是否自動刪除
    $channel->basic_publish($msg, "這里是交換機的名字", $queueName);

    消費者和生產(chǎn)者一樣,先綁定交換機:

    4.路由模式

    路由模式使用direct定向類型的交換機,生產(chǎn)者發(fā)送一個消息到交換機,交換機根據(jù)發(fā)送來的路由鍵發(fā)送到相匹配的隊列中,來和隊列綁定的消費者進行消費。

    訂閱模式和路由模式的區(qū)別,訂閱模式無條件的把消息發(fā)送給所有的消費者,每一個消費者收到的消息都是一樣的,而路由模式對消息進行篩選發(fā)送給對應(yīng)的消費者隊列。

    5.主題模式

    主題模式采用的事topic的交換機,通過通配符進行匹配,通配符主要有*#

    6.RPC模式

    RabbitMQ的RPC模式,支持生產(chǎn)者和消費者不在同一個系統(tǒng)中,即允許遠程調(diào)用的情況。通常,消費者作為服務(wù)端,放置在遠程的系統(tǒng)中,提供接口,生產(chǎn)者調(diào)用接口,并發(fā)送消息。

    RPC模式是一種遠程調(diào)用的模式,因為需要http請求,因此速度比系統(tǒng)內(nèi)部調(diào)用慢。而且rpc模式下,通常不易區(qū)分哪些是來自外部的請求,哪些是內(nèi)部的請求,導(dǎo)致整體速度較慢。因此,不能濫用rpc模式。

    最后

    后面的3個模式不做詳細的代碼講解了,可以看參考官網(wǎng),實現(xiàn)起來都是差不多的。

    • 官網(wǎng):www.rabbitmq.com/getstarted.…

    以上就是以PHP代碼為實例詳解RabbitMQ消息隊列中間件的6種模式的詳細內(nèi)容,更多關(guān)于RabbitMQ模式php實例的資料請關(guān)注其它相關(guān)文章!

    標簽: PHP
    日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
    色婷婷久久久| 亚洲一区二区三区中文字幕在线观看| 丝袜美腿一区二区三区| 精品一区免费| 婷婷激情图片久久| 国产综合精品| 一区在线免费| 国产偷自视频区视频一区二区| 欧美国产91| 波多野结衣一区| 色吊丝一区二区| 蜜臀国产一区| zzzwww在线看片免费| 欧美日韩精品免费观看视完整| 婷婷综合六月| 不卡中文一二三区| 黄色日韩在线| 精品捆绑调教一区二区三区| 嫩草伊人久久精品少妇av杨幂 | 欧美理论视频| 日韩精品免费一区二区在线观看 | 久久亚洲美女| 亚洲一区二区小说| 91精品一区| 欧美aa在线视频| 国产99在线| 午夜国产精品视频免费体验区| 夜夜嗨av一区二区三区网站四季av| 日韩在线一区二区| 日韩av中文在线观看| 国产高清精品二区| 日韩在线欧美| 美女久久一区| 国产精品亚洲片在线播放| 精品国产午夜| 亚洲第一区色| 日韩中文字幕一区二区高清99| 国产欧美日韩免费观看| 国产成人久久精品一区二区三区| 91精品国产自产在线观看永久∴| 国产精品视区| 亚洲乱码视频| 欧美激情在线精品一区二区三区| 韩国女主播一区二区三区| 欧美成人精品三级网站| 免费av一区| 日本一区二区中文字幕| 久久不见久久见免费视频7| 亚洲天堂1区| 蜜臀久久久久久久| 日韩国产欧美视频| 国产精品成人一区二区不卡| 婷婷精品进入| 日韩高清不卡一区二区| 神马午夜在线视频| 亚洲深深色噜噜狠狠爱网站 | 欧美啪啪一区| 色综合www| 日本一区中文字幕| 国产成人免费视频网站视频社区| 国产精品普通话对白| 欧美黄色精品| 免费视频国产一区| 日本亚洲视频| 亚洲国产福利| 亚洲精品人人| 成人午夜国产| 国产精品久久久久久av公交车| 激情综合网站| 国产精品magnet| 国产麻豆精品久久| 国产一区国产二区国产三区| 黄在线观看免费网站ktv| 日韩在线一二三区| 精品久久视频| 色婷婷成人网| 99久久精品国产亚洲精品| 在线观看一区| 久久精品免费一区二区三区| 欧美日韩伊人| 久久国产高清| 日韩另类视频| 麻豆精品在线观看| 亚洲va久久| 女同性一区二区三区人了人一 | 成人精品高清在线视频| 亚洲欧洲av| 亚洲香蕉网站| 国产中文欧美日韩在线| 一区二区电影在线观看| 99tv成人| 狠狠久久伊人| 欧美日韩视频免费看| 国产农村妇女精品一二区| av最新在线| 日韩超碰人人爽人人做人人添| 欧美~级网站不卡| 日本一区二区免费高清| 69堂免费精品视频在线播放| 国产亚洲综合精品| 日本欧美不卡| 成人免费一区| 欧美激情99| 国产亚洲精品美女久久| 丝袜亚洲精品中文字幕一区| 亚洲国产成人精品女人| 欧美成人基地| 色爱综合网欧美| 麻豆精品99| 久久精品 人人爱| 日韩三级一区| 亚洲日韩中文字幕一区| 亚洲欧美日本日韩| 国产手机视频一区二区| 影院欧美亚洲| 99久久亚洲精品| 极品av在线| 国产一区2区在线观看| 国产精品毛片视频| 日本91福利区| 日本精品国产| 日韩黄色免费网站| 日韩av不卡一区二区| 日韩精品导航| 亚洲精品自拍| 日韩精品乱码av一区二区| 亚洲三级观看| 亚洲精品在线国产| 日韩免费精品| 日韩成人午夜精品| 欧美一级一区| 91免费精品国偷自产在线在线| 日本在线成人| 欧美亚洲一区二区三区| 91亚洲精品在看在线观看高清| 日韩国产成人精品| 国产欧美午夜| 久久中文欧美| 精品国产免费人成网站| 亚洲啊v在线| 久久中文字幕av一区二区不卡| 亚洲精品97| 亚洲深夜福利在线观看| 日韩不卡手机在线v区| 国产精品a级| 国产精品二区不卡| 久久久久久久久久久妇女 | 免费亚洲婷婷| 免费视频一区二区三区在线观看| 久久久久九九精品影院| 国产v日韩v欧美v| 亚洲手机在线| 丝袜诱惑制服诱惑色一区在线观看| 亚洲青青久久| 国产精品亚洲综合色区韩国| 国产aⅴ精品一区二区三区久久| 日韩精品第一区| 女人av一区| 婷婷五月色综合香五月| 国产精品欧美三级在线观看| 国产精品成人一区二区不卡| 激情久久久久久| 亚洲精品乱码久久久久久蜜桃麻豆| 日韩免费精品| 麻豆久久一区二区| 久久精品亚洲欧美日韩精品中文字幕| 亚洲免费婷婷| 国产精品亚洲人成在99www| 在线中文字幕播放| av在线日韩| 日韩在线观看一区二区| 国产探花在线精品一区二区| 国产a久久精品一区二区三区| 99视频精品全部免费在线视频| 久久午夜视频| 久久久精品国产**网站| 136国产福利精品导航网址| 亚洲a级精品| 国产成人精品一区二区三区视频| 亚洲高清激情| 91九色综合| 蜜桃精品在线| 日韩激情中文字幕| 日韩在线短视频| 亚洲精品成人一区| 日韩精品诱惑一区?区三区| 蜜桃视频第一区免费观看| 欧美激情久久久久久久久久久| 欧美日韩国产欧| 免费亚洲婷婷| 午夜在线精品| 精品久久97| 天堂av在线一区| 麻豆91小视频| 亚洲作爱视频| а√天堂8资源在线| 日韩久久99| 999精品色在线播放| 国产精品久久亚洲不卡| 国产精品88久久久久久|