成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

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

瀏覽:270日期: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
    成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
    91久久国产综合久久| 日韩视频精品在线观看| 亚洲午夜精品国产| 日韩av电影一区| 中文字幕乱码一区二区免费| 欧美少妇性性性| 国产精品美女久久久浪潮软件| 国产风韵犹存在线视精品| 久久九九影视网| 欧美亚洲综合网| 欧美精品三区| 国产二区国产一区在线观看| 亚洲国产视频一区| 2020国产精品| 91久久久免费一区二区| 国产精品国产一区二区| 国产精品66部| 麻豆91精品91久久久的内涵| 亚洲精品精品亚洲| 国产精品女同互慰在线看| 精品国产精品网麻豆系列| 色菇凉天天综合网| 亚洲午夜精品一区二区| 久久91精品久久久久久秒播| 亚洲国产欧美一区二区三区丁香婷| 国产精品丝袜在线| 欧美精品一区二区三区一线天视频 | 精品国产91久久久久久久妲己| 久久国产精品一区二区三区四区| 欧美精品二区| 91啪亚洲精品| 91网站在线播放| 国产精品99久久久久久宅男| 麻豆精品视频在线观看免费| 亚洲国产日韩a在线播放性色| 中文一区一区三区高中清不卡| 777久久久精品| 欧美高清dvd| 欧美日韩中文字幕一区二区| 色综合久久天天| 久久激情网站| 在线视频欧美精品| 色爱区综合激月婷婷| 国产私拍一区| 亚洲一区网站| 久久精品日产第一区二区| 亚洲一区二区精品在线观看| 亚洲国产一区二区精品专区| 国语精品中文字幕| 欧美日韩理论| 好看的日韩av电影| 1024亚洲| 亚洲欧美日本国产专区一区| 国产精品裸体一区二区三区| 一本久道综合久久精品| 国产日韩精品视频一区二区三区| 在线视频免费在线观看一区二区| 激情婷婷亚洲| 在线观看视频免费一区二区三区| 在线播放日韩| 国产欧美高清| 色妹子一区二区| 极品中文字幕一区| 日韩精品电影在线观看| 欧美日韩一级片在线观看| 大尺度一区二区| 中文字幕欧美日本乱码一线二线 | 亚洲成人在线| 日本成人在线电影网| 欧美一级一区二区| 精品国产百合女同互慰| 六月婷婷一区| 91.xcao| 亚洲国产精品99久久久久久久久| 国产精品久久久久影视| 亚洲综合色成人| 激情成人综合网| 国产成人精品一区二区三区四区 | 极品尤物久久久av免费看| 日韩激情视频网站| 久久亚洲私人国产精品va媚药| 一区二区三区国产盗摄| 精品一区二区三区久久久| 久久精品亚洲麻豆av一区二区 | 99精品偷自拍| 精品免费一区二区三区| 亚洲欧美激情插| 久久精品国产999大香线蕉| 国产裸体歌舞团一区二区| 黑人巨大精品欧美一区二区小视频| 久久国产日韩欧美| 国产日产亚洲精品系列| 日本欧美一区二区| 狠狠88综合久久久久综合网| 国内精品伊人久久久久av影院| 国产三级精品在线| 欧美亚洲日本国产| 欧美成人tv| 美女一区二区三区在线观看| 久久久精品黄色| 在线亚洲免费视频| 欧美日韩亚洲一区二区三区在线观看 | 国产精品网站在线观看| 毛片一区二区三区| 欧美成人一品| 欧美人狂配大交3d怪物一区| 一区二区三区在线观看网站| eeuss国产一区二区三区| 日本精品视频一区二区三区| |精品福利一区二区三区| 欧美日韩99| 亚洲成a人v欧美综合天堂下载| 久久久久久亚洲综合影院红桃| 欧美自拍偷拍午夜视频| 亚洲高清不卡| 不卡一区二区三区四区| 亚洲第一二三四区| 欧美国产日产图区| 3d成人动漫网站| 久久一区中文字幕| 伊人久久大香线蕉综合热线| 国产99精品视频| 懂色av一区二区夜夜嗨| 色成人在线视频| 亚洲国产成人tv| 激情欧美一区| 日本一区二区三区久久久久久久久不| 国产制服丝袜一区| 欧美乱妇一区二区三区不卡视频| 男人操女人的视频在线观看欧美| 亚洲影音一区| 亚洲啪啪综合av一区二区三区| 91丨porny丨首页| xfplay精品久久| 91在线看国产| 国产亚洲婷婷免费| www.性欧美| 久久亚洲一级片| 国产精品国码视频| 亚洲欧美经典视频| 国产精品夜夜夜一区二区三区尤| 亚洲综合清纯丝袜自拍| 免费一区视频| 免费人成精品欧美精品| 欧美日韩一级二级| 国产福利一区二区| 亚洲视频精选在线| 欧美日韩一区二区三区高清| 性娇小13――14欧美| 日韩午夜激情| 欧美特黄一区| 免费一区视频| 日韩经典一区二区| 3d成人动漫网站| 成人黄色777网| 中文字幕不卡三区| 老鸭窝毛片一区二区三区| 免费看欧美女人艹b| 日韩色视频在线观看| 欧美三级视频| 日韩1区2区日韩1区2区| 精品视频在线视频| 丁香天五香天堂综合| 久久久久久日产精品| 伊大人香蕉综合8在线视| 亚洲激情自拍偷拍| 在线观看成人小视频| av在线不卡电影| 亚洲免费观看视频| 欧美日韩国产综合一区二区三区| 岛国精品一区二区| 亚洲青青青在线视频| 欧美日韩精品一区视频| 国产精品国色综合久久| 日韩激情视频在线观看| 久久精品视频在线看| 久久精品国产清高在天天线| 国产成人av影院| 亚洲日本在线观看| 欧美一二三区在线| 亚洲国产网站| 国产精品99久久不卡二区| 一区二区三区波多野结衣在线观看| 欧美精品v国产精品v日韩精品 | 嫩草成人www欧美| 国产精品白丝jk白祙喷水网站| 国产精品欧美一区二区三区| 在线观看亚洲一区| 国产精品二区在线| 国产馆精品极品| 亚洲r级在线视频| 国产女同互慰高潮91漫画| 欧美日韩在线播放一区| 99在线热播精品免费99热| 国产一区二区三区免费观看| 亚洲一区二区欧美激情| 欧美精品一区二区蜜臀亚洲| 日本韩国欧美一区| 国产精品久久久对白| 欧美日韩免费高清|