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

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
RabbitMQ學(xué)習(xí)3

1.服務(wù)為管理

  Erlang天生就是為了讓應(yīng)用程序無需知道對方是否存在同一臺(tái)機(jī)器上即可互相通信。

  Erlang節(jié)點(diǎn):Erlang虛擬機(jī)的每個(gè)實(shí)例。多個(gè)Erlang應(yīng)用程序可以運(yùn)行在同一個(gè)節(jié)點(diǎn)之上。節(jié)點(diǎn)之間可以進(jìn)行本地通信(不管他們是運(yùn)行在同一臺(tái)服務(wù)器之上)。舉例說明:一個(gè)運(yùn)行在節(jié)點(diǎn)A上應(yīng)用程序可以調(diào)用節(jié)點(diǎn)B上應(yīng)用程序的方法,就好像調(diào)用本地函數(shù)一樣。如果應(yīng)用程序由于某些原因奔潰,Erlang節(jié)點(diǎn)會(huì)自動(dòng)嘗試重啟應(yīng)用程序。

1.1啟動(dòng)節(jié)點(diǎn)

  在RabbitMQ的安裝目錄下運(yùn)行./rabbitmq-server。也可以通過增加-detached參數(shù)的方式啟動(dòng)RabbitMQ節(jié)點(diǎn),以守護(hù)程序的方式在后臺(tái)運(yùn)行:./rabbitmq-server  -detached.

1.2停止節(jié)點(diǎn)

  在RabbitMQ的安裝目錄下運(yùn)行:./rabbitmqctl stop時(shí),rabbitmqctl會(huì)和本地節(jié)點(diǎn)通信并指示其干凈的關(guān)閉。也可以指定關(guān)閉不同的節(jié)點(diǎn),包括遠(yuǎn)程節(jié)點(diǎn)。只需要傳入-n rabbit@[hostname]選項(xiàng)即可。這時(shí)整個(gè)Rabbitmq節(jié)點(diǎn)包括Erlang都關(guān)閉了。

  停止RabbitMQ只需要運(yùn)行:./rabbitmactl stop_app即可。

1.3RabbitMQ的配置文件

1
2
3
4
[
   {mnesia,[{dump_log_write_threshold,1000}]},
   {rabbit,[{vm_memory_high_watermark,0.4}]}  
]

  rabbitmq的配置文件是一個(gè)包含了嵌套哈希表表的數(shù)組。通過外部配置數(shù)組,每個(gè)Erlang應(yīng)用程序會(huì)有自己的哈希表來配置選項(xiàng)。

  注意:RabbitMQ中的每個(gè)隊(duì)列、交換器和綁定的元數(shù)據(jù)都是保存到Mnesia的。Mnesia是內(nèi)建在Erlang的非SQL數(shù)據(jù)庫。Mnesia通過將RabbitMQ元數(shù)據(jù)寫入一個(gè)僅限追加的日志文件以確保其完整性。然后在定期將日志內(nèi)容轉(zhuǎn)儲(chǔ)到真實(shí)的Mnesia數(shù)據(jù)庫文件中。

2.請求許可

  可以為連接到RabbitMQ上的用戶設(shè)置不同級(jí)別的權(quán)限(讀、寫和配置).RabbitMQ權(quán)限的好處是在于單個(gè)用戶可以跨越多個(gè)Vhost進(jìn)行授權(quán)。

2.1管理用戶

  在RabbitMQ中,用戶是訪問控制的基本單元。針對一到多個(gè)vhost,其可以被賦予不同級(jí)別的訪問權(quán)限,并使用標(biāo)準(zhǔn)的用戶名/密碼來認(rèn)證用戶。對用戶的增加、刪除以及列出列表非常簡單。這些操作都是通過rabbitmqctl來完成。

  創(chuàng)建用戶的命令如下:

1
./rabbitmqctl add_user username password

  刪除用戶的命令如下:

1
./rabbitmqctl delete_user username

  當(dāng)刪除用戶的時(shí)候,任何引用該用戶的訪問控制條目都會(huì)從rabbit權(quán)限數(shù)據(jù)庫中自動(dòng)刪除。

  查看所有用戶的命令如下

1
./rabbitmqctl list_users

  修改已經(jīng)存在的用戶的密碼的命令如下:

1
./rabbitmqctl change_password username newpassword

2.2Rabbit權(quán)限系統(tǒng)

  如下圖是AMQP操作到Rabbitmq權(quán)限的映射關(guān)系

 

  每一條訪問控制條目由以下四部分組成:

  • 被授予訪問權(quán)限的用戶
  • 權(quán)限應(yīng)用的vhost
  • 需要授予的讀/寫/配置權(quán)限的組合
  • 權(quán)限的范圍

  謹(jǐn)記:訪問控制條目是無法跨越vhost的。

  授予權(quán)限的命令如下所示:

1
./rabbitmqctl set_permissions -p vhostname username '.*' '.*' '.*'
  •  -p vhostname:告訴了set-permissions條目應(yīng)該應(yīng)用到哪個(gè)vhost
  • username:指定了被授予權(quán)限的用戶
  • '.*'  '.*'  '.*':這是被授予的權(quán)限。這些值分別映射到配置、寫和讀。

  '.*'意味著匹配任何隊(duì)列或者交換器的名字。

  'checks-.*':只匹配名字以'checks-'開頭的隊(duì)列和交換機(jī)。

  '':不匹配任何隊(duì)列和交換器。

  如下權(quán)限設(shè)置:

1
./rabbitmqctl set_permissions -p vhostname username ' '  'checks-.*'  '.*'

  可以使用Rabbitmqctl的list_permisions命令來驗(yàn)證權(quán)限是否正確賦予。

1
./rabbitmqctl clear_permissions -p vhostname username

  可以使用Rabbitmqctl的clear_premissions命令來移除一個(gè)用戶在任何vhost上的權(quán)限。如下所示:

1
./rabbitmqctl clear_permissions -p vhostname username

  值得注意的是,clear_permissions命令會(huì)移除用戶在指定vhost上的所有權(quán)限。如果你想修改用戶現(xiàn)存權(quán)限,則只需要設(shè)置新的權(quán)限值并執(zhí)行set_permissions即可。

  如果你想查看用戶在RabbitMQ服務(wù)器上所有vhost上的權(quán)限,可以使用list_user_permissions即可。

1
./rabbitmqctl list_user_permissions username

3.檢查

3.1查看數(shù)據(jù)統(tǒng)計(jì)

  列出隊(duì)列和消息數(shù)目

1
./rabbitmqctl list_queues [-p ] []

  QueueInfoItem主要包含以下選項(xiàng):

  例如:

1
./rabbitmqctl list_queues name durable auto_delete consumers memory

  查看交換器和綁定.查看交換器的命令如下:

1
./rabbitmqctl list_exchanges

 

  查看綁定的命令如下:

1
./rabbitmqctl list_bindings

  該命令不接受處-p以外的參數(shù)。

通過AMQP實(shí)時(shí)訪問日志

  當(dāng)使用rabbitmqctl列出交換器列表時(shí)看到了其中一個(gè)叫做amq.rabbitmq.log的topic交換器。RabbitMQ把日志信息發(fā)布到該交換器上,并以嚴(yán)重級(jí)別作為路由鍵---error、warning和info.可以通過創(chuàng)建一個(gè)消費(fèi)者來監(jiān)聽日志并作出相應(yīng)的反應(yīng)。

4.修復(fù)RabbitMQ:疑惑解答

  Erlang節(jié)點(diǎn)通過交換作為秘密令牌的Erlang cookie以獲得認(rèn)證。由于你已連接到遠(yuǎn)程節(jié)點(diǎn)后就能執(zhí)行命令,因此有必要確保該節(jié)點(diǎn)是可信的。Erlang將令牌存儲(chǔ)在名為.erlang.cookie的文件。為了能讓rabbitmqctl能夠連接RabbitMQ節(jié)點(diǎn),因此需要共享相同的cookie。如果運(yùn)行RabbitMQ和執(zhí)行rabbitmqctl命令的是同一個(gè)用戶,那么你不會(huì)有任何問題。但是在產(chǎn)品環(huán)境中,你可能會(huì)想要?jiǎng)?chuàng)建rabbitmq用戶,并以該用戶的身份運(yùn)行服務(wù)器。這意味著你必須和rabbitmq用戶共享cookie,或者切換到rabbitmq才能成功執(zhí)行rabbitmqctl。

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
window7下面rabbitMQ安裝添加用戶及權(quán)限
rabbitmq集群部署及配置
Springboot 1.5.x 集成基于Centos7的RabbitMQ集群安裝及配置
【消息隊(duì)列 MQ 專欄】RabbitMQ
[Erlang 0080] RabbitMQ :VHost,Exchanges, Queues,Bindings and Channels
D 的個(gè)人博客
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服