云計(jì)算(第三版)配套之28第8章OpenStack開源虛擬化平臺(tái)(二)_第1頁
云計(jì)算(第三版)配套之28第8章OpenStack開源虛擬化平臺(tái)(二)_第2頁
云計(jì)算(第三版)配套之28第8章OpenStack開源虛擬化平臺(tái)(二)_第3頁
云計(jì)算(第三版)配套之28第8章OpenStack開源虛擬化平臺(tái)(二)_第4頁
云計(jì)算(第三版)配套之28第8章OpenStack開源虛擬化平臺(tái)(二)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

8.2計(jì)算效勞Nova8.2.1Nova組件介紹8.2.2Libvirt簡介8.2.3Nova中的RabbitMQ解析28.2計(jì)算效勞NovaNova中的RabbitMQ解析消息隊(duì)列〔Queue〕與數(shù)據(jù)庫〔Database〕終端用戶〔DevOps、Developers、OpenStack〕Nova守護(hù)進(jìn)程系統(tǒng)內(nèi)消息傳遞和信息共享任務(wù)之間、模塊之間、接口之間的異步部署NovaAPI與OpenStack系統(tǒng)的互動(dòng)消息隊(duì)列和數(shù)據(jù)庫完成終端用戶的云效勞請求38.2計(jì)算效勞NovaRabbitMQRabbitMQ是一種處理消息驗(yàn)證、消息轉(zhuǎn)換和消息路由的架構(gòu)模式,它協(xié)調(diào)應(yīng)用程序之間的信息通信,并使得應(yīng)用程序或者軟件模塊之間的相互意識(shí)最小化,有效實(shí)現(xiàn)解耦。OpenStackNova系統(tǒng)信息交換中樞RabbitMQ48.2計(jì)算效勞NovaRabbitMQRabbitMQ適合部署在一個(gè)拓?fù)潇`活易擴(kuò)展的規(guī)?;到y(tǒng)環(huán)境中,有效保證不同模塊、不同節(jié)點(diǎn)、不同進(jìn)程之間消息通信的時(shí)效性;RabbitMQ特有的集群HA平安保障能力可以實(shí)現(xiàn)信息樞紐中心的系統(tǒng)級(jí)備份,同時(shí)單節(jié)點(diǎn)具備消息恢復(fù)能力功能性時(shí)效性平安可靠性SLA方面58.2計(jì)算效勞NovaAMQPAMQP是應(yīng)用層協(xié)議的一個(gè)開放標(biāo)準(zhǔn),為面向消息的中間件而設(shè)計(jì)RabbitMQ是AMQP協(xié)議的一個(gè)開源實(shí)現(xiàn)OpenStackNova各軟件模塊通過AMQP協(xié)議實(shí)現(xiàn)信息通信AMQP協(xié)議的設(shè)計(jì)理念可歸納為基于狀態(tài)的面向無連接通信系統(tǒng)模式對(duì)于AMQP來講,消息隊(duì)列的狀態(tài)信息決定通信系統(tǒng)的轉(zhuǎn)發(fā)路徑IP數(shù)據(jù)包根據(jù)路由表實(shí)現(xiàn)報(bào)文的本地存儲(chǔ)與逐級(jí)轉(zhuǎn)發(fā)68.2計(jì)算效勞NovaAMQPAMQP目標(biāo)實(shí)現(xiàn)端到端的信息通信AMQP實(shí)現(xiàn)通信的因素是什么兩個(gè)基本的概念A(yù)MQP實(shí)現(xiàn)通信的實(shí)體以及機(jī)制是什么78.2計(jì)算效勞NovaAMQP交換器〔Exchange〕交換器由消費(fèi)者應(yīng)用程序創(chuàng)立,并且可與其他應(yīng)用程序?qū)崿F(xiàn)共享效勞接收消息之后通過路由表將消息準(zhǔn)確且平安地轉(zhuǎn)發(fā)至相應(yīng)的消息隊(duì)列每個(gè)交換器通過唯一的ExchangeID進(jìn)行識(shí)別持久交換器臨時(shí)交換器自動(dòng)刪除交換器持久交換器并不會(huì)因?yàn)橄到y(tǒng)重啟或者應(yīng)用程序終止而消除駐留在內(nèi)存中,隨著系統(tǒng)的關(guān)閉而消失隨著宿主應(yīng)用程序的中止而自動(dòng)消亡隊(duì)列〔Queue〕88.2計(jì)算效勞NovaAMQP主要用于實(shí)現(xiàn)存儲(chǔ)與轉(zhuǎn)發(fā)交換器發(fā)送來的消息,隊(duì)列同時(shí)也具備靈活的生命周期屬性配置,可實(shí)現(xiàn)隊(duì)列的持久保存、臨時(shí)駐留與自動(dòng)刪除。消息隊(duì)列交換器AMQP的三個(gè)關(guān)鍵組件任何一個(gè)組件的失效都會(huì)導(dǎo)致信息通信的中斷,因此鑒于三個(gè)關(guān)鍵組件的重要性,系統(tǒng)在創(chuàng)立三個(gè)組件的同時(shí)會(huì)打上“Durable〞標(biāo)簽,說明在系統(tǒng)重啟之后立即恢復(fù)業(yè)務(wù)功能。98.2計(jì)算效勞NovaAMQP構(gòu)成AMQP的三個(gè)關(guān)鍵要素的工作方式如下圖。消息生產(chǎn)者消息生產(chǎn)者交換器消息隊(duì)列-1消息隊(duì)列-2消息隊(duì)列-3……消息隊(duì)列-N消息消費(fèi)者消息消費(fèi)者108.2計(jì)算效勞NovaAMQP三種不同類型的交換器播送式交換器〔FanoutExchange〕直接式交換器〔DirectExchange〕主題式交換器〔TopicExchange〕118.2計(jì)算效勞NovaNova中的RabbitMQ應(yīng)用目前Nova中的各個(gè)模塊通過RabbitMQ效勞器以RPC〔遠(yuǎn)程過程調(diào)用〕的方式實(shí)現(xiàn)通信,而且各模塊之間形成松耦合關(guān)聯(lián)關(guān)系,在擴(kuò)展性、平安性以及性能方面均表達(dá)優(yōu)勢。Nova系統(tǒng)信息中樞RabbitMQ128.2計(jì)算效勞NovaNova中的RabbitMQ應(yīng)用1〕交換器2〕隊(duì)列3〕綁定接受消息并且將消息轉(zhuǎn)發(fā)給隊(duì)列。應(yīng)用程序在它的權(quán)限范圍之內(nèi)可以創(chuàng)立、刪除、使用和共享交換器實(shí)例。交換器可以是持久的、臨時(shí)的或者自動(dòng)刪除的“消息隊(duì)列〞,它是一個(gè)具名緩沖區(qū),它代表一組消費(fèi)者應(yīng)用程序保存消息。這些應(yīng)用程序在它們的權(quán)限范圍內(nèi)可以創(chuàng)立、使用、共享消息隊(duì)列。可以理解為交換器和消息隊(duì)列之間的一種關(guān)系,綁定之后交換器會(huì)知道應(yīng)該把消息發(fā)給哪個(gè)隊(duì)列,綁定的關(guān)鍵字稱為binding_key。138.2計(jì)算效勞NovaNova中的RabbitMQ應(yīng)用該類交換器不分析所接收到消息中的RoutingKey,默認(rèn)將消息轉(zhuǎn)發(fā)到所有與該交換器綁定的隊(duì)列中去。播送式交換器轉(zhuǎn)發(fā)效率最高,但是平安性較低,消費(fèi)者應(yīng)用程序可獲取本不屬于自己的消息。播送交換器是最簡單的一種類型,就像我們從字面上理解到的一樣,它把所有接收到的消息播送到所有它所知道的隊(duì)列中去,不管消息的關(guān)鍵字是什么,消息都會(huì)被路由到和該交換器綁定的隊(duì)列中去。1〕播送式交換器類型〔fanout〕148.2計(jì)算效勞NovaNova中的RabbitMQ應(yīng)用在程序中申明一個(gè)播送式交換器的代碼如下:PX1〕播送式交換器類型〔fanout〕channel.exchange_declare〔exchange='fanout',type='fanout'〕158.2計(jì)算效勞NovaNova中的RabbitMQ應(yīng)用直接式交換器的轉(zhuǎn)發(fā)效率較高,平安性較好,但是缺乏靈活性,系統(tǒng)配置量較大。相對(duì)播送交換器來說,直接交換器可以給我們帶來更多的靈活性。直接交換器的路由算法很簡單:一個(gè)消息的routing_key完全匹配一個(gè)隊(duì)列的binding_key,就將這個(gè)消息路由到該隊(duì)列。綁定的關(guān)鍵字將隊(duì)列和交換器綁定到一起。當(dāng)消息的routing_key和多個(gè)綁定關(guān)鍵字匹配時(shí)消息可能會(huì)被發(fā)送到多個(gè)隊(duì)列中。2〕直接式交換器類型〔direct〕168.2計(jì)算效勞NovaNova中的RabbitMQ應(yīng)用PXC2C2Q1Q2orangegreenblackType=direct直接交換器的工作方式2〕直接式交換器類型〔direct〕178.2計(jì)算效勞NovaNova中的RabbitMQ應(yīng)用PXC2C2Q1Q2*.orange*Lazy.#*.*rabbitType=topic3〕主題式交換器〔TopicExchange〕188.2計(jì)算效勞NovaNova中的RabbitMQ應(yīng)用Nova基于RabbitMQ實(shí)現(xiàn)兩種RPC調(diào)用RPC.CALLRPC.CAST基于請求與響應(yīng)方式只是提供單向請求Nova的各個(gè)模塊在邏輯功能上可以劃分為兩種Invoker模塊Worker模塊主要功能是向消息隊(duì)列中發(fā)送系統(tǒng)請求消息,如Nova-API和Nova-Scheduler;從消息隊(duì)列中獲取Invoker模塊發(fā)送的系統(tǒng)請求消息以及向Invoker模塊回復(fù)系統(tǒng)響應(yīng)消息,如Nova-Compute、Nova-Volume和Nova-Network。198.2計(jì)算效勞NovaTopic消息生產(chǎn)者Nova中的RabbitMQ應(yīng)用Direct消息消費(fèi)者Direct消息隊(duì)列點(diǎn)對(duì)點(diǎn)消息隊(duì)列共享消息隊(duì)列交換機(jī)Direct消息生產(chǎn)者Topic消息生產(chǎn)者1Topic消息生產(chǎn)者2Topic消息生產(chǎn)者3交換器RoutingKey=NODE-TYPE.NODE-IDRoutingKey=NODE-TYPE.Topic交換域Direct交換域RabbitMQ效勞器InvokerWorker208.2計(jì)算效勞NovaNova中的RabbitMQ應(yīng)用Topic消息生產(chǎn)者Direct消息消費(fèi)者Direct消息隊(duì)列點(diǎn)對(duì)點(diǎn)消息隊(duì)列交換機(jī)Direct消息生產(chǎn)者Topic消息消費(fèi)者1交換器RoutingKey=NODE-TYPE.NODE-IDTopic交換域Direct交換域RabbitMQ效勞器InvokerWorkerRoutingKey=MSG-ID218.2計(jì)算效勞NovaNova中的RabbitMQ應(yīng)用Invoker端生成一個(gè)Topic消息生產(chǎn)者和一個(gè)Direct消息消費(fèi)者。其中,Topic消息生產(chǎn)者發(fā)送系統(tǒng)請求消息到Topic交換器,Direct消息消費(fèi)者等待響應(yīng)消息。Topic交換器根據(jù)消息的RoutingKey轉(zhuǎn)發(fā)消息,Topic消費(fèi)者從相應(yīng)的消息隊(duì)列中接收消息,并傳遞給負(fù)責(zé)執(zhí)行相關(guān)任務(wù)的Worker。Worker根據(jù)請求消息執(zhí)行完任務(wù)之后,分配一個(gè)Direct消息生產(chǎn)者,Direct消息生產(chǎn)者將響應(yīng)消息發(fā)送到Direct交換器。Direct交換器根據(jù)響應(yīng)消息的RoutingKey轉(zhuǎn)發(fā)至相應(yīng)的消息隊(duì)列,Direct消費(fèi)者接收并把它傳遞給Invoker。228.2計(jì)算效勞NovaNova中的RabbitMQ應(yīng)用Topic消息生產(chǎn)者共享消息隊(duì)列Topic消息消費(fèi)者1交換器RoutingKey-NODE-TYPETopic交換域RabbitMQ服務(wù)器InvokerWorkerTopic消息消費(fèi)者2RPC.CAST的遠(yuǎn)程調(diào)用流程與RPC.CALL類似,只是缺少了系統(tǒng)消息響應(yīng)流程。本章未完待續(xù)百度排名首位的大數(shù)據(jù)資料和交流中心百度排名首位的云計(jì)算資料和交流中心終生免費(fèi)的智能硬件大數(shù)據(jù)托管平臺(tái)掃一掃,進(jìn)入萬物云終生免費(fèi)的環(huán)境大數(shù)據(jù)共享平臺(tái)掃一掃,進(jìn)入環(huán)境云云創(chuàng)大數(shù)據(jù)

給您一步到位的解決方案!高校Hadoop教學(xué)科研一攬子解決方案云計(jì)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論