分散式雲端計算是什麼?

買賣虛擬貨幣
隨著網際網路時代的不斷髮展,雲端計算的應用已經滲透到各行各業,各種“雲”已經無處不在,雲端計算平臺就如同水、電一樣成為網際網路的基礎設施。知識串講:通俗理解雲端計算

雲端計算服務就是讓計算、儲存、網路、資料、演算法、應用等軟硬體資源像電一樣,隨時隨地、即插即用。

舉個例子,“水”是我們每個人的剛需產品。在平日裡需要喝水的話,我們可以選擇在家安裝自來水過濾器來直接獲得乾淨安全的飲用水,而這一過程並不需要我們自己去經歷找水源、打水、淨化、鋪管道輸水這一套飲用水製造過程,因為這已經由專門的廠家和商家完成並提供服務。

同理,在網際網路領域,如今如果一家公司想要建立網站,它可以透過雲端計算平臺已經搭建和設定好的網站模板即可輕鬆建立公司官網,而不需要再像從前那樣必須經歷購買伺服器、網路頻寬、註冊網站域名、找專門人員進行開發和運維等一系列的複雜過程。

雲端計算服務擁有成本低廉、服務全面、彈性擴充套件,部署簡便等優點和特性,雲端計算的本質就是社會分工,社會分工所產生的價值雲端計算都能產生,比如規模化、精細化所產生的成本降低與效率提高等。

而如今的大資料時代和即將到來的人工智慧時代,又成為驅動雲端計算進一步發展的關鍵動力,及時處理龐大規模的資料以及更多人工智慧落地應用的需求,都要強大的儲存和計算能力。

與此同時,物聯網技術快速發展,未來將會有越來越多體積“嬌小”但效能強大的智慧終端作為節點連入網際網路,這樣數以萬計的聯網節點共同搭建起分散式雲端計算平臺。而物聯網的核心在於物與物、人與物的強關聯,在大多情況下這樣彼此聯絡在本地發生。因此,分散式雲端計算能夠更好地順應、迎合未來IT發展的趨勢。

那麼重點來了!!

接下來,博納雲編譯整合入門級的分散式雲端計算介紹,按照分散式雲端計算的定義和概念、出現的原因、工作原理、優勢和不足以及應用向大家進行介紹:

什麼是分散式雲端計算?

首先來看一段維基百科的定義:分散式計算,又被稱為分散式運算,主要研究分散式系統如何進行計算。分散式系統是一組計算機,透過網路相互連線傳遞訊息與通訊後並協調它們的行為而形成的系統,元件之間彼此進行互動以實現一個共同的目標。把需要進行大量計算的工程資料分割成小塊,由多臺計算機分別計算,再上傳運算結果後,將結果統一合併得出資料結論的科學。分散式系統的例子來自有所不同的面向服務的架構,大型多人線上遊戲,對等網路應用。

讓我們來個說人的解釋版本

簡單地說,分散式計算可以定義“在後端協同工作的多個計算機,在終端使用者僅顯示為一個計算機的組合”。在這組系統中協同工作的各計算機同時工作,但若其中一個或某些計算機發生故障,整個系統依然可以繼續工作。

在一個分散式系統中,多臺計算機可以承載不同的軟體元件或功能,但所有的計算機在承擔不同的任務和角色時,要協力合作去完成一個共同目標。分散式系統或組合中的計算機可以物理上緊密相連並透過本地網路連線,也可以地理上遙遠並透過廣域網連。

分散式系統可以由許多不同型別的配置組成,如主機、個人計算機、工作站、小型計算機等,但最終目標不變,就是將眾多“單機”構成的網路組成得像計算機一樣工作。

為什麼會出現分散式計算?

為什麼需要分散式計算?因為“大資料”時代來了,比如在我們熟知的搜尋引擎和線上購票網站,每秒可能有數以萬計的訪問,面對規模如此龐大的資料量,單個計算機將無法勝任這樣的資料處理工作,此時就需要用更多終端加入而構成的分散式雲端計算來應對大資料時代以及即將到來的物聯網時代。

知識串講:垂直擴充套件和水平擴充套件

垂直擴充套件指的是升級原有的伺服器或更換為更強大的硬體;水平擴充套件指的是透過增加更多的伺服器來分散負載,從而實現儲存能力和計算能力的擴充套件。

舉個例子,在遇到記憶體不足的問題時,垂直擴充套件就是要花費一大筆錢為一個大型主機伺服器增加儲存吞吐量和/或計算能力,而水平擴充套件則是透過增加雲端的虛擬機器和伺服器來解決。

與水平擴充套件相比,垂直擴充套件的弊端體現在,即使透過質量最好和價格最昂貴的硬體進行升級,最終這些硬體也會在新層次遇到的新問題面前顯示其效能的不足而被更新迭代。而水平擴充套件則允許透過新增更多計算機而非不斷升級單個計算機來管理和滿足不斷增長的流量需求或效能需求。

在最初時,水平擴充套件解決方案的成本比垂直擴充套件的要更高,但隨著目前智慧終端和網際網路技術的不斷髮展和成熟,水平擴充套件的成本降低,效果提高,在越來越多需要處理龐大資料、更高工作負載的應用場景中超越垂直擴充套件。

分散式計算的工作原理?

當前,常見的分散式計算專案通常使用世界各地上千萬志願者計算機的閒置計算能力,透過網際網路進行資料傳輸(志願計算)。

我們以一個Web應用程式為例,假設這一程式的工作量是一個月前的兩倍,鑑於資料庫必須處理之前兩倍的請求數,效能隨之下降,從而影響了終端使用者的使用體驗。處理方法可以是升級硬體、增加更多記憶體和頻寬等(即垂直擴充套件方案),但如工作量不斷增加呢?在某種程度上,升級系統在技術實現上和成本開銷上變得不切實際。

在這樣的情況下,分散式計算就可以發揮自身優勢和潛力,以滿足日益增長的流量和更高效能的需求。

在此情境下,分散式計算的解決方案即為,建立可與主伺服器(上位機)同步的新資料庫伺服器(下位機),它們僅用於“讀取”資訊。每當使用者嘗試訪問或讀取資訊時,新伺服器負責處理請求,而主伺服器則處理插入和修改請求。主伺服器會定時將新變動同步至新伺服器。

簡而言之,分散式計算允許不同的裝置(即節點)進行通訊和協調,以實現共同的目標。分散式系統的設計允許單個計算機出現故障,因此其餘的計算機繼續工作並向使用者提供服務。

分散式雲端計算的優勢?

1、更高的可擴充套件性
分散式系統本身具有可擴充套件性,即意味著使用者可以透過再增加“單機”的數量來提高處理不斷增加的工作負載的能力,而無需反覆更新“單機”。使用者規模並沒有上限。一個需求較高的分散式系統可以讓每臺機器滿載執行,但在工作量較低的情況下靈活地讓一部分不承擔任務的機器離線。

2、允許高容錯和更高的冗餘利用率
分散式系統在本質上比單臺機器具有更高的容錯性:假設一個企業在兩個資料中心執行多臺機器叢集,即使一個資料中心突然意外離線,企業的應用程式依舊可以透過另一線上的資料中心執行,即使一個或多個節點停止工作,整體系統仍然保持正常工作狀態。

3.更低延時
由於使用者可以在不同的地理位置部署節點,分散式系統則會讓工作流觸達與之相距最近的節點,可以降低延遲、提高效率、保證效能。

4.更高的成本效益
分散式系統由許多小型計算機作為節點組成,當節點在一定程度上高於規模經濟時則會比集中式的大型機更具成本效益。從為滿足額外容量的擴充套件方式對比圖中可以看到,當所需額外容量達到一個臨界點後(即虛實線交界處),水平擴充套件的成本將會比垂直擴充套件的成本低。

5、效率
分散式系統允許將複雜的問題和資料拆分成更小的部分,並分發給多臺計算機來並行處理,這有助於縮短解決或計算這些問題所需的時間,從而提高執行效率。

分散式雲端計算的不足?

當然,任何事物都有其兩面性,在舉出分散式計算優勢的同時,我們還需要看到其“短板”和不足,並加以重視進行技術的攻克和突破。總的來說,分散式雲端計算目前存在以下不足:
1、複雜性
與集中式計算系統相比,分散式計算系統在部署、維護和故障排除/除錯方面存在更高的執行難度,這種難度體現硬體以及可以處理安全和通訊問題的軟體。

2、較高的初始投入成本
分發的部署成本高於在某一地點下的單一系統,由於額外的計算和資訊交換而增加的處理開銷也會增加總體成本。

3、安全問題
在集中計算系統中,資料訪問可以被較容易地控制,但是管理分散式系統的安全性並不是一件容易的工作。不僅必須保護網路本身,使用者還需要控制跨多個位置複製的資料。

分散式計算透過結合多臺機器的能力,有助於提高大型專案的效能。它的可擴充套件性更高,允許使用者根據不斷增長的工作量需求新增計算機。儘管分散式計算有其自身的缺點,但它提供了無與倫比的可擴充套件性、更好的總體效能和更高的可靠性,這使得它成為處理高工作負載和大資料的企業的更好的解決方案。

分散式計算的應用?

分散式計算應用包括(但不僅限於):


1、內容分發網路(Content Delivery Network,簡稱為CDN)
2、PCDN(P2P CDN)
3、分散式網路爬蟲
4、分散式資料儲存
5、開放計算專案(Open Compute Project,簡稱為OCP)

分散式計算可以使用的場景正在不斷地正在探索過程中不斷增加,目前可以使用的領域包括電信網路、網際網路、P2P網路、航空訂票系統、分散式資料庫、科學計算、分散式渲染等。

文章參考來源:

1、博納雲CEO李爽:IT服務形態與組織形態未來景觀的設想與展望
2、維基百科:分散式雲端計算
https://en.wikipedia.org/wiki/Distributed_computing
3、什麼是分散式雲端計算,它的優勢與不足?(What is Distributed Computing, its Pros and Cons?):
https://opencirrus.org/distributed-computing-pros-cons/
4、IBM:什麼是分散式計算
https://www.ibm.com/support/knowledgecenter/en/SSAL2T_8.2.0/com.ibm.cics.tx.doc/concepts/c_wht_is_distd_comptg.html
5、全面介紹分散式系統(A Thorough Introduction to Distributed Systems)
https://medium.freecodecamp.org/a-thorough-introduction-to-distributed-systems-3b91562c9b3c

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;