雲計算系統中對開發者的API設計問題

2021-09-23 02:47:07 字數 1642 閱讀 4661

本文講的是雲計算系統中對開發者的api設計問題,【it168 資訊】近年來,隨著網際網路應用的普及與深化,網路資訊與服務趨於海量,使用者體驗需求不斷增長,資料海量、分布異構、處理複雜、使用繁瑣等問題逐漸突顯,旨在解決這些問題的雲計算(cloud computing)相關技術得到了迅猛發展。雲計算概念的提出在成為新的發展機遇的同時也在雲計算技術方面受到挑戰。特別是雲計算系統中的api設計問題受到極大挑戰。

雲計算是分布式處理(distributed computing)、並行處理(parallel computing)和網格計算(grid computing)的發展,或者說是這些電腦科學概念的商業實現。它的基本原理是,通過使計算分布在大量的分布式計算機上,而非本地計算機或遠端伺服器中,企業資料中心的執行將更與網際網路相似。這使得企業能夠將資源切換到需要的應用上,根據需求訪問計算機和儲存系統。

雲計算注定給資訊時代帶來一場大的技術變革,由他的引導,我們的不用像現在這樣擔心一旦pc壞掉而帶來的資料資訊的丟失,你可以把你的資料儲存在「雲」 端,有專門的小組為你維護資料;你也不必像現在這樣為了使用一款軟體而付費。只需要一台筆記本或者乙個手機,就可以通過網路服務來實現我們需要的一切,甚 至包括超級計算這樣的任務。這些都是雲計算帶來的好處。

但現在雲計算系統的開發還只是處於起步階段,雲計算系統的功能和效能不是很優越。這對於應用程式的開發者來說無疑不是一大困難。而雲計算系統的api(應用程式介面)的設計這直接關係到雲計算系統的效能和易用性。

對於api的設計有以下幾點看法:

一、api的設計要有嚴格的相容性控制。其目標就是保證版本的公升級時,不會導致低版本的**無法執行。當乙個版本的api發布以後,就不能對其進行任何的修改,包括宣告方法的型別、資料型別等。如果出錯將會影響其價值,同時也會降低公司的信譽。

二、api的設計要合理。各個方法的邊界要區分明確,同時也不能出現資料盲區。不要弄得資料的邊界清楚了,而出現了資料盲區。資料盲區的資料一般都是那些邊界值,因此,我們要對特別考慮邊界值。

三、api的設計要通常易懂。其系統的方法呼叫要通常易懂,做到「見名知意」,根據名稱呼叫的乙個方法,該方法所做的事就是開發者所想要的,這對於基於在 該系統上進行應用軟體開發的開發者來說無疑是很愉快的,同時對於api的設計者來說也是很有意義的,這樣不容易混淆各個方法。

四、api的設計盡量的小。這裡所指的「小」既指原始碼編譯後的檔案比較小,同時也指其執行時所佔的記憶體較小。這樣執行呼叫的方法時間會更短一些,也間接得提公升了系統和應用程式的執行效率和效能。

五、在進行api的設計時,沒有確定的內容時不可以加入到api中去的。其原因就是可能因為這樣的不確定因素而導致資料的運算結果出錯,或者是在應用程式的執行過程**現異常,這些現象是不可出現的。

六、設計api的要考慮其功能的全面性。api設計的越全面,那麼應用程式的開發者在允許的範圍內很好的選擇來實現自己的任務。

七、api的設計還要考慮其高效性。對於資訊時代的產物,俗話說得好「時間就是金錢」,人們對於應用程式的執行效率要求越來越高,提高api的執行效率,也間接得提高了應用程式的執行速度。

同時,api的設計總是需要演化和公升級的,不然api的價值就會降低。我們在設計api的時候,首先要保證api正確的情況下,再來考慮api的高效性和易懂性。

我們在設計api之後就是實現api,我們在實現api的同時,也要將api文件化,同時在文件裡面加上相應的範例。這樣開發人員更容易的理解api中各個方法的通途。這樣也有利於開發者的開發。

雲計算對遊戲開發者的價值

在公司,作為cp,我們有自己機房,自己的伺服器,還有人數眾多的運維人員,成本昂貴,每當一款新遊戲上線,就得準備大量的伺服器,如果遊戲市場表現超過預期,就要緊急採購主機,而如果遊戲失敗,開服數目減少,就會造成主機閒置。而有了雲計算,這一切都不同了。現在我們不需要評估遊戲,計算未來的it基礎設施需求,提...

框架的設計思想對開發者的影響

最近在 phpchina 上看到一篇帖子,問到 大家習慣用原生sql語句還是用框架封裝的db類?這裡所謂 原生 sql 語句 就是指手工書寫的 sql 語句,而不是框架自動生成的 sql 語句。對於這個問題,有些開發者認為根據個人習慣選擇就行了。但是我認為這裡面實際上有個深層問題,那就是框架的設計思...

對開發者來說,沒有比現在更好的時代

到處都有各種開源軟體,學習資源和有用的網路服務,我們可以學會新的語言,得到幫助,和他人協同,如果你的點子很不錯,還會有很多vc在等著給你錢幫你開公司,做產品。這並不是說我們的工作會很簡單,其實標準依然很高。不過提供給我們的資源和機會能夠讓我們走得更快,開發出更多的程式。創新的本質意味著我們光有點子是...