bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

分布式和集群區別?什么是云計算平臺?分布式的應用場景?

分布式是指將一個業務拆分不同的子業務,分布在不同的機器上執行,集群是指多臺服務器集中在一起,實現同一業務,可以視為一臺計算機,一個云計算平臺,就是通過一套軟件系統把分布式部署的資源集中調度使用。要應對大并發,要實現高可用,既需要分布式,也離不開集群。

創新互聯建站是一家朝氣蓬勃的網站建設公司。公司專注于為企業提供信息化建設解決方案。從事網站開發,網站制作,網站設計,網站模板,微信公眾號開發,軟件開發,微信小程序開發,十年建站對成都食品包裝袋等多個方面,擁有豐富的網站維護經驗。

分布式和集群區別?

分布式

分布式:是指將一個業務拆分不同的子業務,分布在不同的機器上執行。

常用的分布式就是在負載均衡服務器后加一堆web服務器,然后在上面搞一個緩存服務器來保存臨時狀態,后面共享一個數據庫,

如圖所示:

這種環境下真正進行分布式的只是web server而已,并且web server之間沒有任何聯系,所以結構和實現都非常簡單。

集群

集群:是指多臺服務器集中在一起,實現同一業務,可以視為一臺計算機。

多臺服務器組成的一組計算機,作為一個整體存在,向用戶提供一組網絡資源,這些單個的服務器就是集群的節點。

兩個特點

可擴展性:集群中的服務節點,可以動態的添加機器,從而增加集群的處理能力。

高可用性:如果集群某個節點發生故障,這臺節點上面運行的服務,可以被其他服務節點接管,從而增強集群的高可用性。

集群分類

常用的集群分類

1.高可用集群(High Availability Cluster)

高可用集群,普通兩節點雙機熱備,多節點HA集群。

2.負載均衡集群(Load Balance Cluster)

常用的有 Nginx 把請求分發給后端的不同web服務器,還有就是數據庫集群,負載均衡就是,為了保證服務器的高可用,高并發。

3.科學計算集群(High Performance Computing Cluster)

簡稱HPC集群。這類集群致力于提供單個計算機所不能提供的強大的計算能力。

兩大能力

負載均衡:負載均衡能把任務比較均衡地分布到集群環境下的計算和網絡資源。

集群容錯:當我們的系統中用到集群環境,因為各種原因在集群調用失敗時,集群容錯起到關鍵性的作用。

例如 Dubbo 的集群容錯:

Failover Cluster

失敗自動切換,當出現失敗,重試其它服務器,通常用于讀操作,但重試會帶來更長延遲。

Failfast Cluster

快速失敗,只發起一次調用,失敗立即報錯,通常用于非冪等性的寫操作,比如新增記錄。

Failback Cluster

失敗自動恢復,后臺記錄失敗請求,定時重發,通常用于消息通知操作。

Forking Cluster

并行調用多個服務器,只要一個成功即返回,通常用于實時性要求較高的讀操作,但需要浪費更多服務資源。

簡單總結

分布式,從狹義上理解,也與集群差不多,但是它的組織比較松散,不像集群,有一定組織性,一臺服務器宕了,其他的服務器可以頂上來。

分布式的每一個節點,都完成不同的業務,一個節點宕了,這個業務就不可訪問了。

1. 分布式是指將一個業務拆分不同的子業務,分布在不同的機器上執行。

2. 集群是指多臺服務器集中在一起,實現同一業務,可以視為一臺計算機。

分布式的每一個節點,都可以用來做集群。而集群不一定就是分布式了。

什么是云計算平臺?

一個云計算平臺,就是通過一套軟件系統把分布式部署的資源集中調度使用。要應對大并發,要實現高可用,既需要分布式,也離不開集群。

比如負載均衡,如果只是一臺服務器,這臺宕機了就完蛋了。

分布式的難點,就是很多機器做存在依賴關系的不同活兒,這些活兒需要的資源、時間區別可能很大,某些機器還可能罷工,要怎么樣才能協調好,做到效率最高,消耗最少,不出錯。

分布式的應用場景?

平時接觸到的分布式系統有很多種,比如分布式文件系統,分布式數據庫,分布式WebService,分布式計算等等,面向的情景不同,但分布式的思路是否是一樣的呢?

1.簡單的例子

假設我們有一臺服務器,它可以承擔1百萬/秒的請求,這個請求可以的是通過http訪問網頁,通過tcp下載文件,jdbc執行sql,RPC調用接口…,現在我們有一條數據的請求是2百萬/秒,很顯然服務器hold不住了,會各種拒絕訪問,甚至崩潰,宕機,怎么辦呢。

一臺機器解決不了的問題,那就兩臺。所以我們加一臺機器,每臺承擔1百萬。如果請求繼續增加呢,兩臺解決不了的問題,那就三臺唄。

這種方式我們稱之為 水平擴展 。如何實現請求的平均分配便是 負載均衡了 。

另一個栗子,我們現在有兩個數據請求,數據1 90萬,數據2 80萬,上面那臺機器也hold不住,我們加一臺機器來負載均衡一下,每臺機器處理45萬數據1和40萬數據2,但是平分太麻煩,不如一臺處理數據1,一臺處理數據2,同樣能解決問題,這種方式我們稱之為 垂直拆分 。

水平擴展和垂直拆分是分布式架構的兩種思路,但并不是一個二選一的問題,更多的是兼并合用。下面介紹一個實際的場景。這也是許多互聯網的公司架構思路。

2.實際的例子

我此時所在的公司的計算機系統很龐大,自然是一個整的分布式系統,為了方便組織管理,公司將整個技術部按業務和平臺拆分為部門,訂單的,會員的,商家的等等,每個部門有自己的web服務器集群,數據庫服務器集群,通過同一個網站訪問的鏈接可能來自于不同的服務器和數據庫,對網站及底層對數據庫的訪問被分配到了不同的服務器集群,這個便是典型的按業務做的 垂直拆分 ,每個部門的服務器在hold不住時,會有彈性的擴展,這便是 水平擴展 。

在數據庫層,有些表非常大,數據量在億級,如果只是純粹的水平的擴展并不一定最好,如果對表進行拆分,比如可以按用戶id進行水平拆表,通過對id取模的方式,將用戶劃分到多張表中,同時這些表也可以處在不同的服務器。按業務的垂直拆庫和按用戶 水平拆表 是分布式數據庫中通用的解決方案。

比如 Mycat 開源分布式數據庫中間件www.mycat.io/

3.分布式一致性

分布式系統中,解決了負載均衡的問題后,另外一個問題就是數據的一致性了,這個就需要通過同步來保障。根據不同的場景和需求,同步的方式也是有選擇的。

在分布式文件系統中,比如商品頁面的圖片,如果進行了修改,同步要求并不高,就算有數秒甚至數分鐘的延遲都是可以接受的,因為一般不會產生損失性的影響,因此可以簡單的通過文件修改的時間戳,隔一定時間掃描同步一次,可以犧牲一致性來提高效率。

但銀行中的分布式數據庫就不一樣了,一丁點不同步就是無法接受的,甚至可以通過加鎖等犧牲性能的方式來保障完全的一致。


在一致性算法中paxos算法是公認的最好的算法,Chubby、ZooKeeper 中Paxos是它保證一致性的核心。這個算法比較難懂,我目前也沒弄懂,這里就不深入了。

網頁題目:分布式和集群區別?什么是云計算平臺?分布式的應用場景?
分享URL:http://vcdvsql.cn/article0/sgoio.html

成都網站建設公司_創新互聯,為您提供小程序開發品牌網站建設網站排名虛擬主機品牌網站設計企業網站制作

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都做網站