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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rabbitmq管理界面的使用
- 下一篇: 微博借钱审核多久 附上注意事项和被拒原因