成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

RabbitMQ簡要整理

1 引言 1.1 編寫目的

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

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

2 消息平臺概述

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

2.1 基本概念

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

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

Exchange

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

Message Queue

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

Binding

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

Channel

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

Connection

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

Broker

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

消息通訊示意圖如下:

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

3.1.1 新用戶信息

3.1.1.1 添加用戶

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

輸入相應信息,然后點擊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
查看和關閉自己的channels 和 connections
查看有關自己的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é)點級別的數據如clustering和memory使用情況
查看真正的關于所有virtual hosts的全局的統(tǒng)計信息

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

3.1.2.2 添加角色

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

3.1.3 權限信息

3.1.3.1 權限參數說明

Vhost:虛擬主機對用戶的權限進行分離。

Configure regexp:對queue或exchange新建和配置的權限。

Write regexp:對一個queue或exchange寫消息的權限。

Read regexp:對一個queue或exchange讀消息的權限。

3.1.3.2 添加權限

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

.* 表示對所有queue和exchange有此權限。

^$ 表示對所有的queue和exchage沒有此權限。

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

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

3.2 隊列管理

3.2.1 添加隊列(queue)

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

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

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

Arguments里的參數:

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值,如果沒有設置則用之前的。

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

Bindings模塊:

在這里可以增加和刪除此queue和exchange的綁定關系,以及route key的設置。

delete模塊:

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

3.2.2 添加交換機(exchange)

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

信息含義:

Internal:該exchange是否只對內部使用。

Arguments里的參數

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

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

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

3.3 跟蹤日志

3.3.1 參數說明

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

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

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

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

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

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

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

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

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

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

3.3.2 添加跟蹤日志

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

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

3.3.3 刪除跟蹤日志

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

3.4 系統(tǒng)信息

3.4.1 查看內存磁盤信息

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

如果吞吐量占用內存超過機器內存的40%,則可適當調高此值,最壞的情況是80%,在40%~80%之間此值越少越好,如果超過80%就給機器加內存。

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

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下用戶的權限的管理。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已經存在,則跳過此步驟。)參考3.5.1

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

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

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

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

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

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

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

4.2 項目管控開通

5 檢查清單

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

2、 內存使用大小,以及剩余大小。

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

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

5、 隊列的占用內存和磁盤大小。

以上查看信息請參考 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行的日志。

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

./rabbitmqctl stop 關閉當前節(jié)點

./rabbitmq-server -detached 后臺啟動

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

新聞標題:RabbitMQ簡要整理
當前地址:http://jinyejixie.com/article36/chdopg.html

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

廣告

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

綿陽服務器托管
湘潭市| 乌兰察布市| 磐安县| 阿尔山市| 祥云县| 涿鹿县| 武平县| 余庆县| 平利县| 彭州市| 福安市| 高雄市| 自治县| 平阴县| 沙湾县| 新田县| 四子王旗| 措勤县| 武穴市| 睢宁县| 化隆| 曲阜市| 台北市| 余姚市| 新建县| 古丈县| 夹江县| 荥经县| 玉屏| 邹城市| 江川县| 中西区| 汉阴县| 称多县| 称多县| 高平市| 额济纳旗| 新野县| 寿光市| 顺义区| 望谟县|