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

您的位置:首頁技術文章
文章詳情頁

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

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

    RabbitMQ 6種工作模式

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

    安裝

    客戶端實現:添加擴展,執行composer.phar install命令

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

    引入包

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

    建立一個鏈接,

    # 鏈接服務$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";# 關閉信道和鏈接$channel->close();$connection->close();

    6種模式

    1.簡單模式

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

    生產者代碼(PHP)

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

    queue_declare 參數說明:

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

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

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

    basic_publish參數詳解:

    • 發送內容
    • 交換機名稱,簡單模式沒有使用交換機
    • 隊列名稱

    消費者代碼:

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

    basic_consume 參數說明:

    • 隊列名
    • 消費者標簽
    • AMQP標準
    • 是否自動應答 ack true 自動應答,false應答
    • 是否排他
    • ?
    • 回調函數

    2.工作模式

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

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

    3.訂閱模式

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

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

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

    生產者實現:

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

    交換機參數詳解:

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

    消費者和生產者一樣,先綁定交換機:

    4.路由模式

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

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

    5.主題模式

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

    6.RPC模式

    RabbitMQ的RPC模式,支持生產者和消費者不在同一個系統中,即允許遠程調用的情況。通常,消費者作為服務端,放置在遠程的系統中,提供接口,生產者調用接口,并發送消息。

    RPC模式是一種遠程調用的模式,因為需要http請求,因此速度比系統內部調用慢。而且rpc模式下,通常不易區分哪些是來自外部的請求,哪些是內部的請求,導致整體速度較慢。因此,不能濫用rpc模式。

    最后

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

    • 官網:www.rabbitmq.com/getstarted.…

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

    標簽: PHP
    日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
    欧美日韩国产精品一区二区亚洲| 韩国三级一区| 美女毛片一区二区三区四区| 日韩深夜视频| 精品网站aaa| 精品国产91| 日韩免费在线| 色爱av综合网| 激情欧美亚洲| 亚洲欧美日韩一区在线观看| 蜜桃视频一区二区三区在线观看| 亚洲欧美日本视频在线观看| 亚洲精品观看| 97久久精品| 欧美成人精品一级| 97精品一区| 欧美日韩高清| 在线免费观看亚洲| 日本午夜精品久久久| 精品国产成人| 激情久久五月| 奇米狠狠一区二区三区| 成人国产精品久久| 成人啊v在线| 国产一区成人| 日韩精品亚洲aⅴ在线影院| 久久精品99久久久| 国模大尺度视频一区二区| 国产一在线精品一区在线观看| 香蕉成人久久| 亚洲欧美在线专区| 精品理论电影在线| 男人天堂欧美日韩| 国产一区二区三区免费在线| 免费人成在线不卡| 欧美香蕉视频| 另类综合日韩欧美亚洲| 久久精品国产68国产精品亚洲| 欧美日韩免费看片| 免费日韩av片| 国产精品久久久久久久久久久久久久久 | 国产亚洲福利| 欧美久久一区二区三区| 欧美成人精品三级网站| 蜜桃91丨九色丨蝌蚪91桃色| 美女尤物国产一区| 亚洲精品在线观看91| 欧美伊人影院| 日韩精品影视| 欧美日韩一区自拍| 国产综合亚洲精品一区二| 欧美亚洲福利| 99成人超碰| 国产精品一区二区美女视频免费看| 久久亚洲国产精品尤物| 免费视频国产一区| 国产精品亚洲欧美日韩一区在线| 亚洲不卡av不卡一区二区| 亚洲精品大片| 亚洲午夜黄色| 国产精品v日韩精品v欧美精品网站| 欧美亚洲国产激情| 日韩精品一卡| 国产精品久久久久久模特| 日本成人在线视频网站| 久久久精品国产**网站| 91福利精品在线观看| 亚洲视频二区| 欧美专区在线| 香蕉人人精品| 日韩免费小视频| 国产精品99一区二区三| 久久一区亚洲| 欧美激情在线精品一区二区三区| 日韩av不卡一区二区| 日本一区二区三区中文字幕| 一区二区三区四区日韩| 久久国产精品久久w女人spa| japanese国产精品| 国户精品久久久久久久久久久不卡| 一本大道色婷婷在线| 日韩高清欧美| 色偷偷偷在线视频播放| 超碰在线99| 国产一区二区三区四区二区| 精品久久不卡| 97国产精品| www.51av欧美视频| 欧美男人天堂| 成人精品中文字幕| 欧美综合另类| 久久亚洲国产| 欧美日韩国产在线观看网站 | 亚洲欧洲高清| 98精品久久久久久久| 91亚洲国产| 九九精品调教| 欧美日韩激情| 丝袜美腿亚洲色图| 亚洲精品国产精品粉嫩| 日韩精品一区二区三区中文在线| 日韩av影院| 国产精品一卡| 久久精品国产成人一区二区三区| 精品久久一区| 久久久久久久久久久9不雅视频| 久久中文字幕av| 99亚洲视频| 亚洲资源网站| 国产欧美一区二区三区国产幕精品 | 欧美精品黄色| 老司机精品久久| 日韩欧美中文字幕电影| 国产精品欧美三级在线观看| 精品久久久中文字幕| 三级小说欧洲区亚洲区| 亚洲神马久久| 国产日韩三级| 给我免费播放日韩视频| 99热国内精品| 中文在线不卡| 欧美日韩一区二区三区在线电影| 精品日本视频| 欧美午夜精品一区二区三区电影| 蜜桃久久av| 国产精品午夜一区二区三区| 韩国女主播一区二区三区| 美女网站视频一区| 国产亚洲永久域名| 欧美久久久网站| 久久uomeier| 麻豆亚洲精品| 国产精品调教视频| 欧美日韩国产v| 免费看精品久久片| 欧美日韩中文| 久久蜜桃av| 欧美日本久久| 久久九九精品| 亚洲精品日本| caoporn视频在线| 免费在线观看不卡| 精品日韩一区| 性欧美精品高清| 久久中文字幕导航| 黄色不卡一区| 国产精品激情电影| 免费观看久久av| 国产毛片一区二区三区| 国产精品毛片久久| 中国女人久久久| 嫩草伊人久久精品少妇av杨幂 | 亚洲无线一线二线三线区别av| 亚洲人亚洲人色久| 成人午夜毛片| 亚洲精品无吗| 国际精品欧美精品| 婷婷精品在线| 中文字幕在线免费观看视频| 亚洲欧美日韩一区在线观看| 久久三级毛片| 视频一区二区不卡| 国产成人精品三级高清久久91| 丝袜a∨在线一区二区三区不卡| 精品一区二区三区视频在线播放| 欧美综合国产| 日韩网站中文字幕| 国产欧美一区二区三区精品观看| 在线一区电影| 精品午夜av| 日本天堂一区| 久久成人亚洲| 日韩一区亚洲二区| 国产欧美另类| 亚洲在线观看| 日韩三区在线| 精品三级在线| 自拍自偷一区二区三区| 久久久久久黄| 免费视频一区二区三区在线观看 | 日韩美女国产精品| 国产精品97| 国产成人1区| 91欧美日韩在线| 另类av一区二区| 亚洲福利国产| 高清日韩中文字幕| 青青草91久久久久久久久| 午夜久久美女| 久久久夜精品| 欧美激情三区| 欧美一级一区| 亚洲精选成人| 在线观看免费一区二区| 丝袜美腿一区| 国产不卡精品在线| 国产精品一区免费在线| 日本不卡一区二区三区| 日韩专区一卡二卡| 九九综合在线|