成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

分布式系統的特點及設計理念

云計算 分布式
分布式系統是大數據時代企業級應用的首選平臺,它有良好的可擴展性,尤其是橫向可擴展性(Scale Out),使得分布式系統非常靈活,能應對千變萬化的企業級需求,而且降低了企業客戶對服務器硬件的要求,真正能做到應用服務層面的彈性擴展(auto- scaling)。

[[134945]]

分布式系統并不是什么新鮮詞,在上個世紀七八十年代就已經有各種分布式系統出現。只是在互聯網時代,分布式系統才大放異彩,尤其是Google更是把分布式系統運用到了極致。Google整個的軟件構架都是基于各種各樣的分布式系統,諸如Borg、 MapReduce、BigTable等。正是這些分布式系統,使得Google可以處理高并發請求響應以及海量數據處理等。Apache旗下的 Hadoop、Spark、Mesos等分布式系統,把大數據處理相關技術變得非常親民,讓更多企業客戶體會到了分布式系統的便利。

分布式系統的特點

分布式系統最大的特點是可擴展性,它能夠適應需求變化而擴展。

企業級應用需求經常隨時間而不斷變化,這也對企業級應用平臺提出了很高的要求。企業級應用平臺必須要能適應需求的變化,即具有可擴展性。比如移動互聯網2C應用,隨著互聯網企業的業務規模不斷增大,業務變得越來越復雜,并發用戶請求越來越多,要處理的數據也越來越多,這個時候企業級應用平臺必須能夠適應這些變化,支持高并發訪問和海量數據處理。分布式系統有良好的可擴展性,可以通過增加服務器數量來增強分布式系統整體的處理能力,以應對企業的業務增長帶來的計算需求。

分布式系統的核心理念是讓多臺服務器協同工作,完成單臺服務器無法處理的任務,尤其是高并發或者大數據量的任務。

分布式系統由獨立的服務器通過網絡松散耦合組成的。每個服務器都是一臺獨立的PC機,服務器之間通過內部網絡連接,內部網絡速度一般比較快。因為分布式集群里的服務器是通過內部網絡松散耦合,各節點之間的通訊有一定的網絡開銷,因此分布式系統在設計上盡可能減少節點間通訊。此外,因為網絡傳輸瓶頸,單個節點的性能高低對分布式系統整體性能影響不大。比如,對分布式應用來說,采用不同編程語言開發帶來的單個應用服務的性能差異,跟網絡開銷比起來都可以忽略不計。因此,分布式系統每個節點一般不采用高性能的服務器,而是性能相對一般的普通PC服務器。提升分布式系統的整體性能是要通過橫向擴展(增加更多的服務器),而不是縱向擴展(提升每個節點的服務器性能)。

分布式系統最大的特點是廉價高效。

由成本低廉的PC服務器組成的集群,在性能方面能夠達到或超越大型機的處理性能,在成本上遠低于大型機。這也是分布式系統最吸引人之處。成本低廉的PC服務器在硬件可靠性方面比大型機相去甚遠,于是分布式系統由軟件來對硬件進行容錯,通過軟件來保證整體系統的高可靠性。

分布式系統最大的好處是實現企業應用服務層面的彈性擴展。

應用服務層面的彈性擴展是相對計算資源層面的彈性擴展而言的。一般公有云服務(IaaS)廠商都會提供計算資源層面的彈性擴展,比如可以很方便地增加或刪除虛擬主機、提升或降低虛擬主機的性能配置等等。但是企業客戶真正需要的是應用服務層面的彈性擴展,即隨著業務量的漲落,后臺應用服務的實例能動態變化,這是IaaS廠商還做不到的。比如,某移動互聯網短視頻分享應用,在晚間11點到凌晨1點是訪問高峰,同時在線人數高達幾十萬,這時后臺應用服務要擴張到數千個實例才能應付這么高并發的訪問請求;過了高峰時段,后臺應用服務可以收縮到幾十個實例。有了分布式系統,就可以很方便地調度應用服務實例,從幾十個到幾百個甚至上千個,真正實現應用服務的彈性擴展。

分布式系統的設計理念

上面簡單介紹了分布式系統的基本情況,下面詳細闡述筆者理解的幾個分布式系統設計理念:

分布式系統對服務器硬件要求很低

這一點主要現在如下兩個方面:

對服務器硬件可靠性不做要求,允許服務器硬件發生故障,硬件的故障由軟件來容錯。所以分布式系統的高可靠性是由軟件來保證;

對服務器的性能不做要求,不要求使用高頻CPU、大容量內存、高能存儲等等。因為分布式系統的性能瓶頸在于節點間通訊帶來的網開銷,單臺服務器硬件性能再好,也要等待網絡IO。

一般而言,互聯網公司的大型數據中心都是選用大量廉價的PC服務器而不是用幾臺高性能服務器搭建分布式集群,以此來降低數據中心成本。比如,Google對于數據中心的成本控制做到了極致:所有服務器一律不要機箱;主板完全定制,只要最基本的組件,早期的定制主板連電源開關和USB接口都不要;在主板上加裝隔離帶把CPU單獨隔出來,讓冷風只吹CPU,不吹內存、硬盤等不需要降溫的組件,最大限度降低冷卻電力消耗。

分布式系統強調橫向可擴展性

橫向可擴展性(Scale Out)是指通過增加服務器數量來提升集群整體性能。縱向可擴展性(Scale Up)是指提升每臺服務器性能進而提升集群整體性能。縱向可擴展性的上限非常明顯,單臺服務器的性能不可能無限提升,而且跟服務器性能相比,網絡開銷才是分布式系統最大的瓶頸。橫向可擴展性的上限空間比較大,集群總能很方便地增加服務器。而且分布式系統會盡可能保證橫向擴展帶來集群整體性能的(準)線性提升。比如有10臺服務器組成的集群,橫向擴展為100臺同樣服務器的集群,那么整體分布式系統性能會提升為接近原來的10倍。

互聯網公司的數據中心,一般一個分布式系統橫向擴展的上限在萬臺服務器左右。Google數據中心的基本單元,CELL,由兩萬臺左右服務器組成,每個CELL由一套分布式管理系統,BORG,統一管理,每個數據中心都由多個CELL組成。

分布式系統不允許單點失效(No Single Point Failure)

單點失效是指,某個應用服務只有一份實例運行在某一臺服務器上,這臺服務器一旦掛掉,那么這個應用服務必然也受影響而掛掉,導致整個服務不可用。例如,某網站后臺如果只在某一臺服務器上運行一份,那這臺服務器一旦宕機,該網站服務必然受影響而不可用。再比如,如果所有數據都存在某一臺服務器上,那一旦這臺服務器壞了,所有數據都不可訪問。

因為分布式系統的服務器都是廉價的PC服務器,硬件不能保證100%可靠,所以分布式系統默認每臺服務器隨時都可能發生故障掛掉。同時分布式系統必須要提供高可靠服務,不允許出現單點失效,因此分布式系統里運行的每個應用服務都有多個運行實例跑在多個節點上,每個數據點都有多個備份存在不同的節點上。這樣一來,多個節點同時發生故障,導致某個應用服務的所有實例都掛掉、或某個數據點的多個備份都不可讀的概率大大降低,進而有效防止單點失效。

通常情況,不要讓服務器滿負荷運行,服務器長時間滿負荷運行的話,出故障的概率顯著升高。所以分布式系統采用一大堆中低性能的PC服務器,盡可能把負載均攤到所有服務器上,讓每臺服務器的負載都不高,保證集群整體穩定性。

分布式系統盡可能減少節點間通訊開銷

如前所述,分布式系統的整體性能瓶頸在于內部網絡開銷。目前網絡傳輸的速度還趕不上CPU讀取內存或硬盤的速度,所以減少網絡通訊開銷,讓CPU盡可能處理內存的數據或本地硬盤的數據,能顯著提高分布式系統的性能。典型的例子就是Hadoop MapReduce,把計算任務分配到要處理的數據所在的節點上運行,從而避免在網絡上傳輸數據。

分布式系統應用服務最好做成無狀態的

應用服務的狀態是指運行時程序因為處理服務請求而存在內存的數據。分布式應用服務最好是設計成無狀態。因為如果應用程序是有狀態的,那么一旦服務器宕機就會使得應用服務程序受影響而掛掉,那存在內存的數據也就丟失了,這顯然不是高可靠的服務。把應用服務設計成無狀態的,讓程序把需要保存的數據都保存在專門的存儲上,這樣應用服務程序可以任意重啟而不丟失數據,方便分布式系統在服務器宕機后恢復應用服務。

比如,在設計網站后臺的時候,對于用戶登陸請求,可以把登陸用戶的session相關信息保存在Redis或Memcache等緩存服務中,這樣每個網站的后臺實例不保存用戶登錄狀態,這樣即使重啟網站后臺程序也不丟失用戶的登錄狀態信息;如果把用戶的session相關信息保存在網站后臺程序的內存里,那一旦受理用戶登錄的網站后臺程序實例掛掉,必然有用戶的登錄狀態信息會丟失。

總而言之,分布式系統是大數據時代企業級應用的首選平臺,它有良好的可擴展性,尤其是橫向可擴展性(Scale Out),使得分布式系統非常靈活,能應對千變萬化的企業級需求,而且降低了企業客戶對服務器硬件的要求,真正能做到應用服務層面的彈性擴展(auto- scaling)。

原文鏈接:http://www.cnblogs.com/imhaiyang/articles/4513674.html

責任編輯:Ophira 來源: cnblogs
相關推薦

2023-10-08 10:49:16

搜索系統分布式系統

2011-04-01 10:18:12

zabbix

2022-04-07 17:13:09

緩存算法服務端

2019-09-05 09:02:45

消息系統緩存高可用

2023-05-12 08:23:03

分布式系統網絡

2022-04-14 10:24:27

分布式系統性能

2013-05-27 14:46:06

文件系統分布式文件系統

2023-02-11 00:04:17

分布式系統安全

2017-12-12 14:51:15

分布式緩存設計

2013-01-07 10:29:31

大數據

2010-08-17 16:54:45

2023-05-29 14:07:00

Zuul網關系統

2022-10-24 09:56:09

seleniumGrid分布式

2023-11-07 12:00:05

分布式系統數據訪問

2017-05-22 09:58:01

虛擬機虛擬化分布式

2015-11-10 17:45:00

分布式系統設計開源模塊

2017-10-27 08:40:44

分布式存儲剪枝系統

2023-10-26 18:10:43

分布式并行技術系統

2023-05-05 06:13:51

分布式多級緩存系統

2017-08-30 16:47:49

Kafka設計原理
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久三区 | 日韩精品在线视频 | 久久精品福利 | av香港经典三级级 在线 | 日韩av网址在线观看 | 久久国产精品视频 | 久久www免费人成看片高清 | 国产精品久久久久久久久久久久久 | 日本字幕在线观看 | 国产精品久久久久久中文字 | 美女一级毛片 | 亚洲啊v| 天堂资源| 超黄视频网站 | 岛国av一区二区三区 | 国产欧美在线观看 | 亚洲欧美日韩高清 | 成人精品一区二区三区四区 | 天堂综合网久久 | 免费一级片 | 日日天天| 免费国产视频在线观看 | 女同久久另类99精品国产 | 亚洲国产看片 | 在线观看亚洲精品视频 | 精品影院 | 中文字幕亚洲视频 | 国产一区二区不卡 | 亚洲天堂一区 | 偷牌自拍| 国产精品久久久爽爽爽麻豆色哟哟 | 在线免费亚洲视频 | 日本三级黄视频 | xxxxx免费视频 | 在线观看日韩av | 69视频在线播放 | 91天堂网| 国产农村妇女毛片精品久久麻豆 | 成人免费一区二区 | 一区二区三区视频在线观看 | 久久草视频 |