日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

rabbitMQ消息队列 – 面板介绍及简单demo

發布時間:2024/9/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 rabbitMQ消息队列 – 面板介绍及简单demo 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先rabbit安裝好之后,運維會給一個控制面板.
默認賬號密碼為guest

登入以后可以看到具體界面.

在此鳴謝百度翻譯給予的大力支持..


###寫一個簡單的demo
編寫之前..雖然說可以直接用底層擴展實現連接.但是還是用封裝過的代碼比較好一些.
所以我們使用了比較有名的類庫來開發

可以在https://packagist.org/ 中搜索AMQP(AMQP可以看成是一種消息隊列的通訊規范)

假設你裝有composer,并設置了國內源

可以在命令行創建一個目錄,并執行命令

首先了解下類庫結構,目錄如下
\vendor\php-amqplib\php-amqplib\PhpAmqpLib
|-Channel 消息通道類庫
|-Connection 鏈接類庫
|-Exception 異常類庫
|-Helper 助手類
|-Message 消息類
|-Wire 通訊類庫

###鏈接類Connection
你可以用不同的方式鏈接MQ服務器,同時封裝了
文件列舉如下
|–AMQPConnection常用的,實際上就是AMQPStreamConnection套了個馬甲
|–AMQPLazyConnection惰性鏈接,也是AMQPStreamConnection的子類
|–AMQPSocketConnection TCP/IP鏈接
|–AMQPSSLConnection 加密鏈接,AMQPStreamConnection的子類
|–AMQPStreamConnection 流式鏈接
>[info]實際上一共也就是兩種鏈接方式Stream和Socket
PHP對Socket進行了封裝形成的Stream_Socket支持更多通訊協議.如加密傳輸.
但是太具體的區別,確實不清楚.后續我們將使用AMQPConnection這個進行鏈接

鏈接類庫的具體作用

  • ?實現登入
  • ?實現了消息通道的管理
  • ###通道類Channel
    |–AMQPChannel
    主要功能么.進行綁定,比如交換機,隊列名.發送消息.接收消息

    ###異常類Exception
    |–AMQPBasicCancel
    需整理實踐

    ###助手類Helper

    ###消息類Message

    ###未知類Wire

    //引入庫引導文件
    require 'vendor/autoload.php';

    $conn_args = array(
    'host'=>'127.0.0.1', //rabbitmq 服務器host
    'port'=>5672, //rabbitmq 服務器端口
    'login'=>'guest', //登錄用戶
    'password'=>'guest', //登錄密碼
    'vhost'=>'/' //虛擬主機
    );
    $e_name = 'e_demo';
    $q_name = 'q_demo';
    $k_route = 'key_1';

    $conn = new AMQPConnection($conn_args);
    if(!$conn->connect()){
    die('Cannot connect to the broker');
    }
    $channel = new AMQPChannel($conn);

    $ex = new AMQPExchange($channel);
    $ex->setName($e_name);
    $ex->setType(AMQP_EX_TYPE_DIRECT);
    $ex->setFlags(AMQP_DURABLE);
    $status = $ex->declareExchange(); //聲明一個新交換機,如果這個交換機已經存在了,就不需要再調用declareExchange()方法了.
    $q = new AMQPQueue($channel);
    $q->setName($q_name);
    $status = $q->declareQueue(); //同理如果該隊列已經存在不用再調用這個方法了。
    $ex->publish($msg, $k_route);

    如需轉載請注明:?轉載自26點的博客

    本文鏈接地址:?rabbitMQ消息隊列 – 面板介紹及簡單demo

    轉載請注明:26點的博客???rabbitMQ消息隊列 – 面板介紹及簡單demo

    來源:http://www.iamlintao.com/6395.html

    總結

    以上是生活随笔為你收集整理的rabbitMQ消息队列 – 面板介绍及简单demo的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。