中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

你真的了解分布式系統到底是什么嗎?

發布時間:2020-06-23 15:07:44 來源:網絡 閱讀:1075 作者:Java月亮呀 欄目:編程語言

你真的了解分布式系統到底是什么嗎?

前言

隨著大型網站的各種高并發訪問、海量數據處理等場景越來越多,如何實現網站的高可用、易伸縮、可擴展、安全等目標就顯得越來越重要。為了解決這樣一系列問題,大型網站的架構也在不斷發展。提高大型網站的高可用架構,不得不提的就是分布式。本文主要簡單介紹了分布式系統的概念、分布式系統的特點、常用的分布式方案以及分布式和集群的區別等。

一、集中式系統

在學習分布式之前,先了解一下與之相對應的集中式系統是什么樣的。

集中式系統用一句話概括就是:一個主機帶多個終端。終端沒有數據處理能力,僅負責數據的錄入和輸出。而運算、存儲等全部在主機上進行。

你真的了解分布式系統到底是什么嗎?

拿一個電子商城舉例,一個集中式系統的電子商城,通過一個應用實現,該應用部署在一起主機上,對外提供服務。用戶的所有操作均通過這一臺機器的一個應用實現。

集中式系統的最大的特點就是部署結構非常簡單,底層一般采用從IBM、HP等廠商購買到的昂貴的大型主機。因此無需考慮如何對服務進行多節點的部署,也就不用考慮各節點之間的分布式協作問題。

但是,由于采用單機部署。很可能帶來系統大而復雜、難于維護、發生單點故障(單個點發生故障的時候會波及到整個系統或者網絡,從而導致整個系統或者網絡的癱瘓)、擴展性差等問題。

二、分布式系統

在《分布式系統概念與設計》一書中,對分布式系統做了如下定義:

分布式系統是一個硬件或軟件組件分布在不同的網絡計算機上,彼此之間僅僅通過消息傳遞進行通信和協調的系統。

簡單來說就是一群獨立計算機集合共同對外提供服務,但是對于系統的用戶來說,就像是一臺計算機在提供服務一樣。

分布式意味著可以采用更多的普通計算機(相對于昂貴的大型機)組成分布式集群對外提供服務。計算機越多,CPU、內存、存儲資源等也就越多,能夠處理的并發訪問量也就越大。

你真的了解分布式系統到底是什么嗎?

一個由分布式系統實現的電子商城,在功能上可能被拆分成多個應用,分別提供不同的功能,組成一個分布式系統對外提供服務
而系統內的各個子系統之間通過網絡進行通信和協調,如異步消息或者RPC/HTTP請求調用等。

所以,分布式系統中的計算機在空間上幾乎沒有任何限制,這些計算機可能被放在不同的機柜上,也可能被部署在不同的機房中,還可能在不同的城市中,對于大型的網站甚至可能分布在不同的國家和地區。

你真的了解分布式系統到底是什么嗎?

但是,無論空間上如何分布,一個標準的分布式系統應該具有以下幾個主要特征:

分布性

分布式系統中的多臺計算機之間在空間位置上可以隨意分布,系統中的多臺計算機之間沒有主、從之分,即沒有控制整個系統的主機,也沒有受控的從機。

透明性

系統資源被所有計算機共享。每臺計算機的用戶不僅可以使用本機的資源,還可以使用本分布式系統中其他計算機的資源(包括CPU、文件、打印機等)。

同一性

系統中的若干臺計算機可以互相協作來完成一個共同的任務,或者說一個程序可以分布在幾臺計算機上并行地運行。

通信性

系統中任意兩臺計算機都可以通過通信來交換信息。

和集中式系統相比,分布式系統的性價比更高、處理能力更強、可靠性更高、也有很好的擴展性。

但是,分布式在解決了網站的高并發問題的同時也帶來了一些其他問題。

首先,分布式的必要條件就是網絡,這可能對性能甚至服務能力造成一定的影響。其次,一個集群中的服務器數量越多,服務器宕機的概率也就越大。另外,由于服務在集群中分布是部署,用戶的請求只會落到其中一臺機器上,所以,一旦處理不好就很容易產生數據一致性問題。

三、常用的分布式方案

分布式應用和服務

將應用和服務進行分層和分割,然后將應用和服務模塊進行分布式部署。這樣做不僅可以提高并發訪問能力、減少數據庫連接和資源消耗,還能使不同應用復用共同的服務,使業務易于擴展。

分布式靜態資源

對網站的靜態資源如JS、CSS、圖片等資源進行分布式部署可以減輕應用服務器的負載壓力,提高訪問速度。

分布式數據和存儲

大型網站常常需要處理海量數據,單臺計算機往往無法提供足夠的內存空間,可以對這些數據進行分布式存儲。

分布式計算

隨著計算技術的發展,有些應用需要非常巨大的計算能力才能完成,如果采用集中式計算,需要耗費相當長的時間來完成。分布式計算將該應用分解成許多小的部分,分配給多臺計算機進行處理。這樣可以節約整體計算時間,大大提高計算效率。

四、分布式與集群

很多人對分布式和集群的概念不是很清楚,容易混淆,這里簡單區分一下:

分布式(distributed)是指在多臺不同的服務器中部署不同的服務模塊,通過遠程調用協同工作,對外提供服務。

集群(cluster)是指在多臺不同的服務器中部署相同應用或服務模塊,構成一個集群,通過負載均衡設備對外提供服務。

你真的了解分布式系統到底是什么嗎?

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

石楼县| 黄陵县| 青铜峡市| 盐津县| 福海县| 邯郸市| 邮箱| 大方县| 甘洛县| 揭东县| 通榆县| 凉城县| 上思县| 尚志市| 甘洛县| 温泉县| 都昌县| 宣汉县| 松桃| 广西| 根河市| 海林市| 龙川县| 定日县| 南部县| 襄樊市| 鹤壁市| 宜都市| 海门市| 辽阳县| 丰台区| 昌都县| 西峡县| 集贤县| 华宁县| 连平县| 肃宁县| 治多县| 泰宁县| 芜湖县| 雅江县|