openstack中的server
一、HTTP server
主要是horizon模塊,horizon是基于Python Django搭建的web應(yīng)用,其運(yùn)行于Apache網(wǎng)絡(luò)服務(wù)器上(當(dāng)然也可以運(yùn)行在其他web服務(wù)器上),主要功能就是提供云平臺(tái)管理的頁(yè)面訪問(wèn)。
??
二、API server
主要是各個(gè)模塊中的api組件,作為wsgi server運(yùn)行,對(duì)外提供Restful API請(qǐng)求處理。這種API server可以將模塊轉(zhuǎn)化一種服務(wù),提供API調(diào)用接口。例如,沒(méi)有nova-api的nova模塊只能算作一個(gè)軟件的組成模塊,只能對(duì)內(nèi)提供處理邏輯。當(dāng)有了nova-api后,nova模塊就可以作為一個(gè)獨(dú)立的服務(wù)運(yùn)行,可以對(duì)外提供接口,Restful API更可以兼容各種編程語(yǔ)言及軟件。
Restful結(jié)合了網(wǎng)絡(luò)與軟件,我個(gè)人覺(jué)得其更加偏向于作為一種通信風(fēng)格(還不是通信協(xié)議),至于其對(duì)軟件模塊架構(gòu)的影響應(yīng)該也是圍繞這種通信風(fēng)格展開的。主要特點(diǎn)如下:
1.具備一定規(guī)則的URL
2.以資源的概念聚合操作
3.操作主要為CRUD(當(dāng)然還有其他的),使用http請(qǐng)求的method,其中GET表現(xiàn)獲取,POST表現(xiàn)創(chuàng)建,PUT表現(xiàn)更新(如果不存在就創(chuàng)建),DELETE表現(xiàn)刪除
4.建立在HTTP通信協(xié)議之上,表現(xiàn)為無(wú)狀態(tài)
?
Restful參考文獻(xiàn):
http://www.cnblogs.com/artech/p/3506553.html
http://www.ruanyifeng.com/blog/2014/05/restful_api.html
http://java.dzone.com/articles/restful-standard-resolved
http報(bào)文參考文獻(xiàn):
http://www.cnblogs.com/dinglang/archive/2012/02/11/2346430.html
http://blog.csdn.net/kfanning/article/details/6062118
http無(wú)狀態(tài)參考文獻(xiàn):
http://www.cnblogs.com/perhaps/archive/2006/06/28/438187.html
??
三、RPC server
主要是各模塊中的部分組件,如nova-scheduler等,作為普通server(守護(hù)進(jìn)程)運(yùn)行。其可以在模塊內(nèi)響應(yīng)函數(shù)調(diào)用的請(qǐng)求,底層綁定了消息隊(duì)列,通過(guò)對(duì)消息的處理來(lái)響應(yīng)函數(shù)調(diào)用。
?
消息隊(duì)列參考文獻(xiàn):
http://docs.openstack.org/developer/nova/devref/rpc.html
http://blog.iron.io/2012/12/top-10-uses-for-message-queue.html?spref=tw
http://www.vmware.com/products/vfabric-rabbitmq/overview.html
?
四、對(duì)比API server和RPC server(只是大概情況)
API server:
接口主要為CRUD(也包含其他操作);
開放URL形式的接口,滿足任意外部的調(diào)用。
通信的形式是網(wǎng)絡(luò)HTTP報(bào)文。
RPC server:
接口主要為函數(shù)調(diào)用;
實(shí)在很難對(duì)外開放接口,因?yàn)榈讓咏壎讼㈥?duì)列,所以調(diào)用接口時(shí)也需要綁定消息隊(duì)列。
通信的形式是消息隊(duì)列。消息隊(duì)列可以使用自己的通信協(xié)議,如AMQP協(xié)議。
使用消息隊(duì)列后比API server通信效率更高。
轉(zhuǎn)載于:https://www.cnblogs.com/littlebugfish/p/4132779.html
總結(jié)
以上是生活随笔為你收集整理的openstack中的server的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: jQuery Validate验证方法及
- 下一篇: 两行代码实现字符串倒置