2010-12-15 44 views
1

我將使用Apache的Hadoop,頭條寫着:「分佈式計算」如何適用於Web開發或編程?

Apache Hadoop項目開發可靠的,可擴展的 ,分佈式計算 開源軟件。

我可以將「可擴展性」與編程聯繫起來,但我不知道這種「分佈」如何幫助我進行開發。根據Wikipedia:

分佈式系統由該 通過計算機網絡 通信 多個自治計算機。計算機與 對方,以達到 共同目標

那麼這是不是意味着我可以在多臺計算機上部署我的web應用程序,並做一些「激烈計算」的互動?我想到的術語是內容交付網絡和雲計算。

回答

5

Web開發始終是關於分佈式計算的,因爲客戶端與其所服務的服務器在不同的機器上,網頁可以從許多服務器獲取資源以構建頁面內容,服務器可以與其他機器交談以實現其目標。 CDN使這一點比以前更加明顯,但實際上它們只是一個演變過程,在所要求的和用於提供它的硬件之間引入了虛擬化/間接層。

雲計算是關於虛擬化的概念並將其應用於遠程主機,包括低級操作系統和更高級別的軟件平臺。關於它們的真正有趣的事情是,這使得客戶可以採用不同的商業模式(並且也有不同的風險,但是這大多與它的分佈式計算無關,而是它並不完全在你自己的控制之下管轄權)。

我發現分佈式計算最有效的用途是當你將不同的服務連接在一起的時候,每個服務具有不同的功能(這可能是出於技術原因,或者可能不是;有時候,這是爲了商業或法律上的原因,必須將事情分開),以及這些服務中的每一個可能由多個地點的許多組件提供。在平衡能力需求(這是一種將組件集合在一起的力量)和對一般能力圖的整體環境中的魯棒性(這趨向於導致分配和複製)的需求之間存在並且繼續存在問題。

我的天啊!那段聽起來很可怕!我想說的是,這是所有的權衡,你應該準備好第一次沒有做好準備。 (Hadoop是一種分佈式文件存儲機制,可以有效地在整個數據集中有效地應用某些操作類 - 適用於MapReduce或其他類似分散 - 聚集算法的操作系統;如果該鞋適合,則使用但它並不能解決所有問題,並且非常感謝這一點!可以做所有事情的東西往往看起來非常類似於根本無法做任何事情的東西,並且有用性和可理解性來自限制。)

2

Hadoop通常用於通過在多臺機器上分發該數據集的處理來處理海量數據集。

這意味着你可能不想用它來「部署應用程序」。但是,您可以使用它來處理應用程序的統計信息。例如,您可能有非常大的用戶數據日誌。如果您的用戶數據變得太大而不適合單個硬盤驅動器,並且/或者一臺機器處理統計數據(使用標準方法,如SQL查詢)時間過長,則會發生這種情況。

1

Ygam。雖然從1960年到2005年左右,「客戶」和「服務器」的傳統角色一直保持穩定。

我相信我的每一根纖維,分佈式計算就是我們都在我們的口袋中運載處理器。

電話做計算工作。手機不需要中央服務器,但他們可以從中受益。

電話,智能手機,平板電腦是分佈式計算的一個例子。

您現在可以使用Android設備製作wifi基站。所以現在手機變成了咖啡廳那一刻的服務器,你可以在沒有互聯網的情況下爲你旁邊的那個可愛的人打開它......現在我離題了......