openstack中的server
一、HTTP server
主要是horizon模塊,horizon是基于Python Django搭建的web應用,其運行于Apache網絡服務器上(當然也可以運行在其他web服務器上),主要功能就是提供云平臺管理的頁面訪問。
??
二、API server
主要是各個模塊中的api組件,作為wsgi server運行,對外提供Restful API請求處理。這種API server可以將模塊轉化一種服務,提供API調用接口。例如,沒有nova-api的nova模塊只能算作一個軟件的組成模塊,只能對內提供處理邏輯。當有了nova-api后,nova模塊就可以作為一個獨立的服務運行,可以對外提供接口,Restful API更可以兼容各種編程語言及軟件。
Restful結合了網絡與軟件,我個人覺得其更加偏向于作為一種通信風格(還不是通信協(xié)議),至于其對軟件模塊架構的影響應該也是圍繞這種通信風格展開的。主要特點如下:
1.具備一定規(guī)則的URL
2.以資源的概念聚合操作
3.操作主要為CRUD(當然還有其他的),使用http請求的method,其中GET表現獲取,POST表現創(chuàng)建,PUT表現更新(如果不存在就創(chuàng)建),DELETE表現刪除
4.建立在HTTP通信協(xié)議之上,表現為無狀態(tài)
?
Restful參考文獻:
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報文參考文獻:
http://www.cnblogs.com/dinglang/archive/2012/02/11/2346430.html
http://blog.csdn.net/kfanning/article/details/6062118
http無狀態(tài)參考文獻:
http://www.cnblogs.com/perhaps/archive/2006/06/28/438187.html
??
三、RPC server
主要是各模塊中的部分組件,如nova-scheduler等,作為普通server(守護進程)運行。其可以在模塊內響應函數調用的請求,底層綁定了消息隊列,通過對消息的處理來響應函數調用。
?
消息隊列參考文獻:
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
?
四、對比API server和RPC server(只是大概情況)
API server:
接口主要為CRUD(也包含其他操作);
開放URL形式的接口,滿足任意外部的調用。
通信的形式是網絡HTTP報文。
RPC server:
接口主要為函數調用;
實在很難對外開放接口,因為底層綁定了消息隊列,所以調用接口時也需要綁定消息隊列。
通信的形式是消息隊列。消息隊列可以使用自己的通信協(xié)議,如AMQP協(xié)議。
使用消息隊列后比API server通信效率更高。
轉載于:https://www.cnblogs.com/littlebugfish/p/4132779.html
總結
以上是生活随笔為你收集整理的openstack中的server的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jQuery Validate验证方法及
- 下一篇: 两行代码实现字符串倒置