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

下載本文檔

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

文檔簡介

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

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

溫馨提示

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

評論

0/150

提交評論