国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
rabbitMQ的幾條經(jīng)驗

1.必需掌握的指令

添加用戶:rabbitmqctl add_user rainbird password

添加權(quán)限:rabbitmqctl set_permissions -p "/" rainbird ".*" ".*" ".*"

刪除測試用戶:rabbitmqctl delete_user guest

 

所有指令列表(很簡單的英文):

add_user        <UserName> <Password>

delete_user     <UserName>

change_password <UserName> <NewPassword>

list_users

add_vhost    <VHostPath>

delete_vhost <VHostPath>

list_vhosts

set_permissions   [-p <VHostPath>] <UserName> <Regexp> <Regexp> <Regexp>

clear_permissions [-p <VHostPath>] <UserName>

list_permissions  [-p <VHostPath>]

list_user_permissions <UserName>

list_queues    [-p <VHostPath>] [<QueueInfoItem> ...]

list_exchanges [-p <VHostPath>] [<ExchangeInfoItem> ...]

list_bindings  [-p <VHostPath>] 

list_connections [<ConnectionInfoItem> ...]

       

2.vhost  / 不能刪除 

      刪除/以后,新建立的vhost不能正常使用(即便不刪除/,新建立的vhost也是不能正常使用).不知道為什么,有待研究. 

      

3.關(guān)于持久化        

      接收端聲明隊列和交換機(jī)自動建立:

$ch->queue_declare($_QUEUE,false,true,false,false);

第三個參數(shù)設(shè)置true保證服務(wù)器重啟后,自動建立隊列

第五個參數(shù)設(shè)置成false防止接收端沒連接的時候丟失消息

 $ch->exchange_declare($EXCHANGE, 'direct', false, true, false);

第四個參數(shù)設(shè)置true保證重啟后,自動建立交換機(jī)

第五個參數(shù)設(shè)置false防止接收端斷開后,交換機(jī)被刪除

 

      發(fā)布端聲明消息持久:

$message = new AMQPMessage(serialize($object), array('content_type' => 'text/plain', 'delivery_mode' => 2));

 

      同時滿足了上面三個條件,就可以保證未接收的消息在服務(wù)器意外重啟以后依然存在了.

 

4.持久化的后遺癥 

      比如說你初始化了一個隊列msgs.你會發(fā)現(xiàn)它真的持久了!每次服務(wù)器端重啟后,通過list_queues命令查看的時候都存在.但是時間久了,這個msgs我們并不需要了,想清除這個隊列只能刪除它所在的vhost,然后再重建vhost,再設(shè)置vhost的權(quán)限.

rabbitmqctl delete_vhost /

rabbitmqctl add_vhost /

rabbitmqctl set_permissions -p / rainbird '.*' '.*' '.*' 

      要注意,如果這個操作過程中有接收端處于連接狀態(tài)它們不會自動斷開,但也不會再收到消息,需要手動重新連接一下. 

      

5.關(guān)于修改監(jiān)聽ip和監(jiān)聽端口 

      出于一些需要,比如我們有多個ip,我們希望rabbitmq僅運(yùn)行在指定的ip.或者考慮到安全問題,我們希望修改一下rabbitmq的監(jiān)聽端口.默認(rèn)安裝完成以后,/etc下面會有一個rabbitmq的空目錄,這時候我們需要手工創(chuàng)建rabbitmq.conf,并寫入相關(guān)內(nèi)容.

vi /etc/rabbitmq/rabbitmq.conf

RABBITMQ_NODE_IP_ADDRESS=0.0.0.0

RABBITMQ_NODE_PORT=2222

 

      保存以后重啟服務(wù)就生效了.


6.關(guān)于運(yùn)行接收端cpu100%問題 

      在官方的問題列表里有如下內(nèi)容:

vi +286 amqp_wire.inc

293 while ($read < $n && (false !== ($buf = fread($this->sock, $n - $read))))

294             {

295                 usleep(50000);

296                 $read += strlen($buf);

297                 $res .= $buf;

298             }   

 

      為什么要用usleep(50000)?實際上usleep(500000)也就是半秒鐘.這樣就可以使進(jìn)程看上去cpu占用為0.沒想到再降一個數(shù)量級也是可以正常的.

 

7.error_log函數(shù) 

      function debug_msg($s)

{

    //error_log($s);

      在不同的地方寫上debug_msg,最后不用的時候時候,直接注釋掉error_log。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Centos7下的rabbitmq
RabbitMQ學(xué)習(xí)3
rabbitmq常用命令
17-RabbitMQ高級特性-日志與監(jiān)控
NET下RabbitMQ實踐[配置篇]
RabbitMQ用戶角色及權(quán)限控制
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服