欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

RabbitMQ簡要整理

1 引言 1.1 編寫目的

文檔編寫的目的是提供關(guān)于如何使用消息平臺,具有可操作性和易于理解的使用說明書。指導(dǎo)消息平臺運維團隊和項目開發(fā)團隊在項目開發(fā)、測試以及運維階段各角色的開發(fā)職責(zé)。

敘永網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)2013年至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
1.2 術(shù)語定義

2 消息平臺概述

隨著泰康人壽各系統(tǒng)之間的數(shù)據(jù)交互越來越頻繁,如何降低各系統(tǒng)之間耦合度,實現(xiàn)各系統(tǒng)之間的異步消息通訊成為越來越迫切的需求,為此建立了泰康消息平臺。

2.1 基本概念

泰康消息平臺主要基于RabbitMQ中間件搭建的,RabbitMQ是目前開源消息中間件里非常成熟和優(yōu)秀的產(chǎn)品,具有高性能、高可用、高擴展和高安全等特性,在互聯(lián)網(wǎng)行業(yè)公司有著非常廣泛的應(yīng)用并經(jīng)過了大量的項目實踐檢驗。

RabbitMQ中間件是基于AMQP協(xié)議模型開發(fā)的,在使用消息平臺進行異步通訊開發(fā)時,需要很好理解以下基本概念。

Exchange

接收發(fā)布應(yīng)用程序發(fā)送的消息,并根據(jù)一定的規(guī)則將這些消息路由到“消息隊列”。

Message Queue

存儲消息,直到這些消息被消費者安全處理完為止。

Binding

定義了exchange和message queue之間的關(guān)聯(lián),提供路由規(guī)則。

Channel

進行相關(guān)定義,發(fā)送消息,獲取消息,事務(wù)處理等,是讀寫消息的通道,客戶端可建立多個channel來進行會話任務(wù)。

Connection

消費者與Broker的TCP連接。建議消費者線程之間不要共用Channel,但是建議盡量共用Connection。

Broker

接受客戶端連接,實現(xiàn)AMQP消息隊列和路由功能的進程。

消息通訊示意圖如下:

3 日常操作說明 3.1 用戶管理

3.1.1 新用戶信息

3.1.1.1 添加用戶

用admin角色的賬號登錄控制臺,找到admin下的users選項,點進去,找到add a user模塊,如下圖

輸入相應(yīng)信息,然后點擊add user,用戶rabbit創(chuàng)建完成。在上面的all users模塊里即可看到rabbit的用戶信息。

Tags 代表所選角色,角色類型請參考3.1.2.1

3.1.1.2 修改用戶

找到all users模塊,找到剛才新建的rabbit用戶,點擊用戶名進入用戶詳情頁。

在詳情頁找到update this user模塊,然后輸入密碼,即可修改此用戶的角色,如下圖。

Tags 代表所選角色,角色類型請參考3.1.2.1

3.1.1.3 刪除用戶

在用戶詳情頁,找到delete this user模塊,然后點擊delete按鈕,即可刪除此用戶,如下圖。

3.1.2 角色信息

3.1.2.1 角色類型

(1)none
不能訪問控制臺

(2)management
用戶可以通過AMQP做的任何事外加:
列出自己可以通過AMQP登入的virtual hosts
查看自己的virtual hosts中的queues, exchanges 和 bindings
查看和關(guān)閉自己的channels 和 connections
查看有關(guān)自己的virtual hosts的“全局”的統(tǒng)計信息,包含其他用戶在這些virtual hosts中的活動。

(3)policymaker
management可以做的任何事外加:
查看、創(chuàng)建和刪除自己的virtual hosts所屬的policies和parameters

(4)monitoring
management可以做的任何事外加:
列出所有virtual hosts,包括他們不能登錄的virtual hosts
查看其他用戶的connections和channels
查看節(jié)點級別的數(shù)據(jù)如clustering和memory使用情況
查看真正的關(guān)于所有virtual hosts的全局的統(tǒng)計信息

(5)administrator
policymaker和monitoring可以做的任何事外加:
創(chuàng)建和刪除virtual hosts
查看、創(chuàng)建和刪除users
查看創(chuàng)建和刪除permissions
關(guān)閉其他用戶的connections

3.1.2.2 添加角色

參考3.1.1.2修改用戶,詳細(xì)寫了如何修改用戶的角色

3.1.3 權(quán)限信息

3.1.3.1 權(quán)限參數(shù)說明

Vhost:虛擬主機對用戶的權(quán)限進行分離。

Configure regexp:對queue或exchange新建和配置的權(quán)限。

Write regexp:對一個queue或exchange寫消息的權(quán)限。

Read regexp:對一個queue或exchange讀消息的權(quán)限。

3.1.3.2 添加權(quán)限

在用戶的詳情頁,找到Permissions模塊,下圖可看出新建的用戶rabbit還沒有分配權(quán)限。填寫上對應(yīng)的權(quán)限信息,然后點擊Set permission 保存設(shè)置。Configure、Write、Read這三個是用正則表達式來匹配是否有某個queue或exchange的權(quán)限。

.* 表示對所有queue和exchange有此權(quán)限。

^$ 表示對所有的queue和exchage沒有此權(quán)限。

^(hello.*)$ 表示只有以hello開頭的queue或exchage的權(quán)限

^(hello.*|team.*)$ 表示有以hello和team開頭的queue或exchange的權(quán)限。

3.2 隊列管理

3.2.1 添加隊列(queue)

找到queue選項,找到add a new queue模塊,填寫上對于的參數(shù),點擊Add queue即可添加一個queue在指定的vhost里。

Durability:是否持久化此隊列(durable表示持久化,transient表示非持久化)。

Auto delete :是否自動刪除此隊列(一次性隊列,即:當(dāng)隊列中的消息被消費者接收,不管消費者有沒有返回確認(rèn)狀態(tài),只要消費者與平臺斷開連接,則隊列會自動刪除),下面的參數(shù)可以配置自動刪除的規(guī)則。

Arguments里的參數(shù):

x-message-ttl 隊列被銷毀前存放多久,單位毫秒

x-expires 隊列自動刪除前使用多久,單位毫秒

x-max-length 一個隊列的長度,超過這個長度則從頭開始銷毀消息

x-max-length-bytes 一個隊列所有的body的size,超過則從頭開始銷毀消息

x-dead-letter-exchange 如果一個消息拒收或者過期,則會發(fā)布到指定名稱的exchange里。

x-dead-letter-routing-key 消息過期或者拒收后的routekey值,如果沒有設(shè)置則用之前的。

添加完隊列后,上面的All queues里會顯示該隊列,點擊該隊列名稱進入詳情頁。

Bindings模塊:

在這里可以增加和刪除此queue和exchange的綁定關(guān)系,以及route key的設(shè)置。

delete模塊:

在最下面的delete模塊,點擊delete可以刪除此queue。

3.2.2 添加交換機(exchange)

找到exchange選項里的add a new exchange模塊,填寫相應(yīng)的信息,然后點擊add exchange,即可添加此exchange。

信息含義:

Internal:該exchange是否只對內(nèi)部使用。

Arguments里的參數(shù)

alternate-exchange :如果發(fā)到這個exchange的消息沒有指定queue接收,則把這條消息發(fā)送到指定的exchange里。

在all exchanges模塊里,找到該exchange,然后點擊名稱進入該exchange的詳情界面,找到bindings模塊,這里可以建立和queue或其他exchange的綁定關(guān)系,以及route key的配置。

最下面的delete模塊,點擊delete即可刪除此exchange。

3.3 跟蹤日志

3.3.1 參數(shù)說明

Format:日志的格式,text方便人查看,json方便機器識別。

Max payload bytes:每條日志記錄的payload(消息體)的字節(jié),超出則截斷消息。

Pattern:日志的模式,即記錄日志的條件。

# 匹配所有的消息,無論是發(fā)布還是消費的信息。

publish.# 匹配所有發(fā)布的消息。

deliver.# 匹配所有被消費的消息。

#.test 如果test是隊列,則匹配已經(jīng)被消費了的test隊列的消息。如果test是exchange,則匹配所有經(jīng)過該exchange的消息。

監(jiān)控的日志默認(rèn)存放位置為:/var/tmp/rabbitmq-tracing;用戶名默認(rèn)是誰創(chuàng)建的消息就記錄誰的名字。

在rabbitmq.config 配置文件配置路徑格式:

[{rabbitmq_tracing, [{directory, "/my/log/file/location"},{username, "guest"}]}].

3.3.2 添加跟蹤日志

找到tracing選項,add a new trace模塊,填寫相應(yīng)的信息,即可創(chuàng)建一個跟蹤日志。

在all traces模塊里,點擊右邊的log file名稱即可查看該日志,也可以找到該文件的所在目錄查看。

3.3.3 刪除跟蹤日志

如上圖,點擊stop即可停止此跟蹤日志。點擊delete即可刪除此日志文件。

3.4 系統(tǒng)信息

3.4.1 查看內(nèi)存磁盤信息

在overview選項下的nodes模塊,可以整體的看到各個節(jié)點的內(nèi)存、磁盤、連接等情況,內(nèi)存默認(rèn)為使用超過節(jié)點機器40%時阻塞線程,可以在配置文件里調(diào)整具體的閾值。

如果吞吐量占用內(nèi)存超過機器內(nèi)存的40%,則可適當(dāng)調(diào)高此值,最壞的情況是80%,在40%~80%之間此值越少越好,如果超過80%就給機器加內(nèi)存。

在queue選項下,all queues模塊里能看到所有隊列的具體占用內(nèi)存磁盤情況。

3.5 添加vhost

3.5.1 添加vhost

找到admin下的Virtual Hosts選項,這里是對Vhost的管理,add a new virtual host模塊填寫名稱即可增加一個vhost。

3.5.2 刪除vhost

在vhost界面的all virtual hosts模塊,點擊vhost的名稱進入詳情界面,permissions模塊是對該vhost下用戶的權(quán)限的管理。Delete this vhost模塊下點擊delete this virtual host 按鈕刪除此vhost。

3.6 節(jié)點管理

3.6.1 添加節(jié)點

./rabbitmqctl -n test2 join_cluster test1@hostname

具體的使用方法可參考集群搭建文檔。

3.6.2 停止節(jié)點

使用命令 ./rabbitmqctl stop 來停止此節(jié)點。

3.6.3 開啟節(jié)點

./rabbitmq-server -detached 后臺啟動

nohup ./rabbitmq-server start & 后臺啟動

4 流程開通 4.1 平臺管控開通

1、 新建vhost (如果此項目的消息平臺vhost已經(jīng)存在,則跳過此步驟。)參考3.5.1

2、 根據(jù)申請單給該系統(tǒng)創(chuàng)建queue或exchange,并且建立和其他queue或exchange的綁定關(guān)系。

(以上步驟請參考3.2隊列管理操作)

3、 在該vhost里新建一個用戶,角色設(shè)置為none。

(1) 如果該系統(tǒng)只接收消息,則給該用戶設(shè)置配置權(quán)限^$,讀權(quán)限^(queue)$,寫權(quán)限^$。

(2) 如果該系統(tǒng)只發(fā)送消息,則給該用戶設(shè)置配置權(quán)限^$,讀權(quán)限^$,寫權(quán)限^(exchange)$。

(3) 如果該系統(tǒng)即接收消息也發(fā)送消息,則給該用戶設(shè)置配置權(quán)限^$,讀權(quán)限^(queue)$,寫權(quán)限^(exchange)$。

添加用戶請參考3.1用戶管理

4.2 項目管控開通

5 檢查清單

1、 查看集群里的各個節(jié)點運行狀況。

2、 內(nèi)存使用大小,以及剩余大小。

3、 磁盤使用大小,以及剩余大小。

4、 查看隊列是否有大量消息堆積,

5、 隊列的占用內(nèi)存和磁盤大小。

以上查看信息請參考 3.4.1

6 linux常用命令

查看控制臺日志,進入overview選項,nodes模塊,點擊主機名查看詳情,如下圖:

在這里找到日志文件的路徑。

tail –f /home/tomcat/rabbitMQ/rabbit-1/var/log/rabbitmq/test1.log 動態(tài)的查看日志。

tail /home/tomcat/rabbitMQ/rabbit-1/var/log/rabbitmq/test1.log -n 200 查看最近200行的日志。

啟動關(guān)閉節(jié)點,進入安裝路徑的sbin目錄

./rabbitmqctl stop 關(guān)閉當(dāng)前節(jié)點

./rabbitmq-server -detached 后臺啟動

nohup ./rabbitmq-server start & 后臺啟動

新聞標(biāo)題:RabbitMQ簡要整理
當(dāng)前地址:http://chinadenli.net/article36/chdopg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣面包屑導(dǎo)航微信小程序企業(yè)建站虛擬主機ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管