項(xiàng)目11 OpenStack 服務(wù)分析_第1頁(yè)
項(xiàng)目11 OpenStack 服務(wù)分析_第2頁(yè)
項(xiàng)目11 OpenStack 服務(wù)分析_第3頁(yè)
項(xiàng)目11 OpenStack 服務(wù)分析_第4頁(yè)
項(xiàng)目11 OpenStack 服務(wù)分析_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

項(xiàng)目11OpenStack服務(wù)分析專(zhuān)業(yè)核心課程精品課程111.1RESTfulAPI簡(jiǎn)介11.1.1RESTful相關(guān)概念RESTful是一種網(wǎng)絡(luò)應(yīng)用程序的設(shè)計(jì)風(fēng)格和開(kāi)發(fā)方式,基于HTTP,可以使用XML格式定義或JSON格式定義。RESTful適用于移動(dòng)互聯(lián)網(wǎng)廠商作為業(yè)務(wù)使能接口的場(chǎng)景,可實(shí)現(xiàn)第三方OTT調(diào)用移動(dòng)網(wǎng)絡(luò)資源的功能,動(dòng)作類(lèi)型為新增、變更、刪除所調(diào)用資源。名稱(chēng)REST指的是一組架構(gòu)約束條件和原則。滿(mǎn)足這些約束條件和原則的應(yīng)用程序或設(shè)計(jì)就是RESTful。資源所謂“資源”就是網(wǎng)絡(luò)中的一個(gè)實(shí)體,或者說(shuō)是網(wǎng)絡(luò)中的一個(gè)具體信息。表現(xiàn)層“資源”是一種信息實(shí)體,它可以有多種外在表現(xiàn)形式。人們把“資源”具體呈現(xiàn)出來(lái)的形式稱(chēng)為其“表現(xiàn)層”。精品課程211.1RESTfulAPI簡(jiǎn)介11.1.1RESTful相關(guān)概念4.狀態(tài)轉(zhuǎn)化訪問(wèn)一個(gè)網(wǎng)站代表了客戶(hù)端和服務(wù)器的互動(dòng)過(guò)程。在這個(gè)過(guò)程中,勢(shì)必涉及數(shù)據(jù)和狀態(tài)的變化。11.1.2RESTful的特點(diǎn)每一個(gè)URI代表一種資源??蛻?hù)端使用GET、POST、PUT、DELETE這4個(gè)表示操作方式的動(dòng)詞對(duì)服務(wù)器端的資源進(jìn)行操作。通過(guò)操作資源的表現(xiàn)形式來(lái)操作資源。資源的表現(xiàn)形式是XML或者HTML。客戶(hù)端與服務(wù)器端之間的交互在請(qǐng)求之間是無(wú)狀態(tài)的,從客戶(hù)端到服務(wù)器端的每個(gè)請(qǐng)求都必須包含理解請(qǐng)求所必需的信息。URL中不應(yīng)該出現(xiàn)動(dòng)詞,全部由請(qǐng)求方式?jīng)Q定。精品課程311.2搭建RESTfulAPI11.2.1實(shí)現(xiàn)一個(gè)簡(jiǎn)單的WSGI服務(wù)

Web服務(wù)器網(wǎng)關(guān)接口(WebServerGatewayInterface,WSGI)是為Python語(yǔ)言定義的Web服務(wù)器和Web應(yīng)用程序或框架之間的一種簡(jiǎn)單而通用的接口。自從WSGI被開(kāi)發(fā)出來(lái)以后,許多其他語(yǔ)言中也出現(xiàn)了類(lèi)似接口。WSGI分為兩個(gè)部分:一部分為“服務(wù)器”或“網(wǎng)關(guān)”,另一部分為“應(yīng)用程序”或“應(yīng)用框架”。11.2.2使用PasteDeploy定制WSGI服務(wù)PasteDeploy模塊最重要的是理清配置文件模塊之間的關(guān)系,代碼實(shí)現(xiàn)都很簡(jiǎn)單,容易實(shí)現(xiàn)。先來(lái)配置configure.ini文件,以下為該函數(shù)的示例代碼。[app:main]paste.app_factory=wsgi_paste:app_factory精品課程411.2搭建RESTfulAPI11.2.3實(shí)現(xiàn)帶過(guò)濾器的WSGI服務(wù)當(dāng)需要對(duì)WSGI服務(wù)進(jìn)行擴(kuò)展時(shí),只需要向WSGI服務(wù)中添加或刪除某些方法即可。添加或刪除方法時(shí)只需要簡(jiǎn)單地修改configure.ini配置文件即可,這體現(xiàn)出WSGI服務(wù)具有很強(qiáng)的伸縮性。11.2.4利用類(lèi)來(lái)實(shí)現(xiàn)過(guò)濾器和應(yīng)用利用eventlet庫(kù)(用于線程管理的標(biāo)準(zhǔn)Python庫(kù))來(lái)啟動(dòng)WSGI服務(wù)。配置configure.ini文件Auth類(lèi)filter_factory工廠方法,返回的是Auth類(lèi)的實(shí)例對(duì)象Hello類(lèi)Loader類(lèi)Server類(lèi)WSGIService類(lèi)精品課程511.2搭建RESTfulAPI11.2.5實(shí)現(xiàn)WSGI服務(wù)的URL映射

在WSGI中,要實(shí)現(xiàn)URL映射,主要依賴(lài)Mapper和Controller兩個(gè)類(lèi)。Controller類(lèi)用于實(shí)現(xiàn)處理HTTP請(qǐng)求的各種方法。配置configure.ini文件實(shí)現(xiàn)URL映射instance應(yīng)用程序?qū)?yīng)的工廠方法為routers包中的app_factory方法。app_factory方法用于返回一個(gè)Router對(duì)象。Router類(lèi)中必須實(shí)現(xiàn)__call__方法。Router類(lèi)的初始化方法有以下幾個(gè):初始化mapper成員變量;初始化router成員變量(路由匹配、修改環(huán)境變量、實(shí)現(xiàn)分發(fā))。RoutesMiddleware對(duì)象(可調(diào)用的實(shí)例)執(zhí)行過(guò)程addroutes方法dispatch方法。controller類(lèi)的實(shí)現(xiàn)精品課程611.3基于消息通信的RPC調(diào)用11.3.1AMQP簡(jiǎn)介

AMQP的優(yōu)勢(shì):客戶(hù)端及服務(wù)器端之間解耦客戶(hù)端與服務(wù)器端之間完全的同步性遠(yuǎn)程調(diào)用的隨機(jī)均衡AMQP的架構(gòu):AMQP用到了Direct、Fanout、Topic三種類(lèi)型的交換器。精品課程711.3基于消息通信的RPC調(diào)用11.3.1AMQP簡(jiǎn)介

AMQP中包含的主要元素:生產(chǎn)者(Producer);消費(fèi)者(Consumer);消息隊(duì)列(MessageQueue);消息(Message);交換器(Exchange)虛擬主機(jī)(VirtualHost);Broker;連接(Connection);信道(Channel);綁定器(Binding)。AMQP實(shí)現(xiàn)通信的過(guò)程:建立連接→建立信道→發(fā)送消息→路由轉(zhuǎn)發(fā)→消息接收→消息確認(rèn)。11.3.2RabbitMQ分析RabbitMQ是實(shí)現(xiàn)了高級(jí)消息隊(duì)列協(xié)議的開(kāi)源消息代理軟件(亦稱(chēng)面向消息的中間件)。RabbitMQ是AMQP的一種實(shí)現(xiàn),它包括Server(服務(wù)器端)、Client(客戶(hù)端)和Plugins(插件)。RabbitMQ服務(wù)器是使用Erlang語(yǔ)言編寫(xiě)的。精品課程811.3基于消息通信的RPC調(diào)用11.3.2RabbitMQ分析RabbitMQ相關(guān)概念基本原理MQ是一種分布式應(yīng)用程序的的通信方法,它是消費(fèi)者—生產(chǎn)者模型的一個(gè)典型的代表,Producer向消息隊(duì)列中不斷寫(xiě)入消息,而Consumer可以讀取或者訂閱隊(duì)列中的消息。精品課程911.3基于消息通信的RPC調(diào)用11.3.2RabbitMQ分析系統(tǒng)架構(gòu)精品課程1011.3基于消息通信的RPC調(diào)用11.3.3RPC調(diào)用的實(shí)現(xiàn)RPC調(diào)用的流程O(píng)penStack組件內(nèi)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論