亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

用大白話聊聊分布式系統

2019-11-06 06:09:02
字體:
來源:轉載
供稿:網友

原文同步至https://waylau.com/talk-about-distributed-system/

一提起“分布式系統”,大家的第一感覺就是好高大上啊,深不可測,看各類大牛關于分布式系統的演講或者書籍,也大多是一臉懵逼。本文期望用淺顯易懂的大白話來就什么是分布式系統、分布式系統有哪些優勢、分布式系統會面臨哪里挑戰、如何來設計分布式等方面的話題來展開討論。

什么是分布式系統

關于“分布式系統”的定義,我們先看下老外是怎么說的。《分布式系統原理和范型》一書中是這樣定義分布式系統的:“分布式系統是若干獨立計算機的集合,這些計算機對于用戶來說就像是單個相關系統”。

關于這個定義,我們直觀的感受就是:

首先,這種系統相對來說比較牛逼,起碼由好幾臺主機組成。以谷歌、亞馬遜等服務商而言,他們的數據中心都由上萬臺主機支撐起來的。其次,雖然很牛逼,但對于外人來說,是感覺不到這些主機的存在。也就是說,我們只看到是一個系統在運作。以最近的“亞馬遜 S3 宕機事件”為例,平時,我們壓根不知道亞馬遜所提供的服務背后是由多少臺主機組成,但是等到 S3 宕機才知道,這貨已經是占了互聯網世界的半壁江山了。

從進程角度看,兩個程序分別運行在兩個臺主機的進程上,它們相互協作最終完成同一個服務(或者功能),那么理論上這兩個程序所組成的系統,也可以稱作是“分布式系統”。

當然,這個兩個程序可以是不同的程序,也可以是相同的程序。如果是相同的程序,我們又可以稱之為“集群”。所謂集群,就是將相同的程序,通過不斷橫向擴展,以提高服務能力的方式。

“分布式系統”和“集群”的定義夠都簡單吧。

分布式系統有哪些優勢

那么,為啥我們要用分布式系統?

說起分布式系統,我們就不得不說下分布式系統的祖先——集中式系統。集中式系統跟分布式系統是完全相反的兩個概念。集中式系統就是把所有的程序、功能都集中到一臺主機上,從而往外提供服務的方式。

集中式系統最容易理解了。比如,我們主機的PC電腦,或者手機,我們把各種軟件都安裝在一臺機子上,當我需要什么功能,我就從這臺機子上去獲取。再比如,我們在學生時代做的課程設計或者開發時的小應用,我們把Web服務器、數據庫等都會安裝到一臺電腦上。好處是,易于理解、方便維護,想要的東西我都放到了一個地方,東西好找啊。當然弊端也是顯而易見的,如果這臺機子崩了,或者硬盤壞了,那相當與整個系統就奔潰了,而且如果備份也是在這個硬盤上,那相當于招了滅頂之災。

所以巴菲特有個關于投資的名言,就是“不要把雞蛋放在一個籃子里”。對于系統而言也是如此。廠商的機子不可能永遠保證永遠不壞,我們也無法保證黑客不會來對我們的系統搞基,最為關鍵的是,我們自己無法保證自己的程序不會出bug。所以問題無法避免,錯誤也不可避免。我們只能雞蛋分散到不同的籃子里,來減輕一鍋端的風險。這就是為什么需要分布式系統的原因。

使用分布式系統的另外一個理由是可擴展性。畢竟任何主機(哪怕是小型機、超級計算機)都會有性能的極限。而分布式系統可以通過不斷擴張主機的數量以實現橫向水平性能的擴展。大家也都了解到 Google 的服務器主機,大多是淘汰的二線機子拼湊的吧。

分布式系統會面臨哪里挑戰

毫無疑問,分布式系統對于集中式系統而言,在實現上會更加復雜。分布式系統將會是更難理解、設計、構建 和管理的,同時意味著應用程序的根源問題更難發現。

設計分布式系統時,經常需要考慮如下的挑戰:

異構性:分布式系統由于基于不同的網絡、操作系統、計算機硬件和編程語言來構造,必須要考慮一種通用的網絡通信協議來屏蔽異構系統之間的差異。一般交由中間件來處理這些差異。缺乏全球時鐘:在程序需要協作時,它們通過交換消息來協調它們的動作。緊密的協調經常依賴于對程序動作發生時間的共識,但是,實際上網絡上計算機同步時鐘的準確性受到極大的限制,即沒有一個正確時間的全局概念。這是通過網絡發送消息作為唯一的通信方式這一事實帶來的直接結果。一致性:數據被分散或者復制到不同的機器上,如何保證各臺主機之間的數據的一致性將成為一個難點。故障的獨立性:任何計算機都有可能故障,且各種故障不盡相同。他們之間出現故障的時機也是相互獨立的。一般分布式系統要設計成被允許出現部分故障而不影響整個系統的正常使用。并發:分布式系統的目的,是為了更好的共享資源。那么系統中的每個資源都必須被設計成在并發環境中是安全的。透明性:分布式系統中任何組件的故障、或者主機的升級、遷移對于用戶來說都是透明的,不可見的。開放性:分布式系統由不同的程序員來編寫不同的組件,組件最終要集成成為一個系統,那么組件所發布的接口必須遵守一定的規范且能夠被互相理解。安全性:加密用于給共享資源提供適當的保護,在網絡上所有傳遞的敏感信息,都需要進行加密。拒絕服務攻擊仍然是一個有待解決的問題。可擴展性:系統要設計成隨著業務量的增加,相應的系統也必須要能擴展來提供對應的服務。

如何來設計分布式

設計分布式系統的本質就是“如何合理將一個系統拆分成多個子系統部署到不同機器上”。所以首要考慮的問題是如何合理的將系統進行拆分。由于拆分后的各個子系統不可能孤立的存在,必然是通過網絡進行連接交互,所以它們之間如何通信變得尤為重要。當然在通信過程要識別“敵我”,防止信息在傳遞過程中被攔截和竄改,這就涉及到安全問題了。分布式系統要適應不斷增長的業務需求,那么就需要考慮其擴展性。分布式系統還必須要保證可靠性和數據的一致性。

概況起來,在設計分布式系統時,應考慮以下幾個問題:

系統如何拆分為子系統?如何規劃子系統間的通信?通信過程中的安全如何考慮?如何讓子系統可以擴展?子系統的可靠性如何保證?數據的一致性是如何實現的?

實際上,上面的每一個問題都不是簡單的問題。還好,我們要感謝開源,讓這個時代的技術可以共享,讓實現復雜系統的成本越來越低。比如,我們在設計通信時,我們可以采用面向消息的中間件,比如Apache ActiveMQ、RabbitMQ、Apache RocketMQ、Apache Kafka等,也有類似與 Google PRotocol Buffer、Thrift等 RPC框架。在設計分布式計算時,我們分布式計算可以采用 MapReduce、Apache Hadoop、Apache Spark 等。在大數據和分布式存儲方面,我們可以選擇 Apache Hbase、Apache Cassandra、Memcached、Redis、MongoDB等。在分布式監控方面,常用的技術包括Nagios、Zabbix、Consul、ZooKeeper等。

當然,本文也只是拋磚引玉,不可能面面俱到。望各位讀者有不同的見解,歡迎討論。

參考文獻

《分布式 java》:https://github.com/waylau/distributed-java

《分布式系統常用技術及案例分析》:https://github.com/waylau/distributed-systems-technologies-and-cases-analysis轉載自:http://blog.csdn.net/kkkloveyou/article/details/60493832#t4


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av在线天堂网| 欧美在线精品免播放器视频| 欧美韩日一区二区| 亚洲欧美综合另类中字| 欧美怡红院视频一区二区三区| 国产精品网站大全| 在线精品高清中文字幕| 国产这里只有精品| 亚洲人成自拍网站| 欧美性受xxxx白人性爽| 91精品视频在线| 欧美在线视频免费| 日韩成人小视频| 亚洲国产精品推荐| 色婷婷av一区二区三区久久| 色婷婷综合久久久久中文字幕1| 成人激情视频网| 欧美老妇交乱视频| 亚洲精品有码在线| 久久久女女女女999久久| 国产精品视频白浆免费视频| 国产精品欧美日韩久久| 亚洲成人免费网站| 国产精品入口尤物| 91社影院在线观看| 亚洲第一天堂无码专区| 成人妇女免费播放久久久| 久久精品亚洲热| 欧美高清在线播放| 亚洲香蕉在线观看| 久久夜色精品国产亚洲aⅴ| 91免费看片在线| 欧美大片va欧美在线播放| 欧美激情性做爰免费视频| 亚洲国产美女精品久久久久∴| 亚洲一区二区在线播放| 国产免费亚洲高清| 久久久爽爽爽美女图片| 欧美成人黄色小视频| 丝袜美腿亚洲一区二区| 欧美老女人在线视频| 亚洲国产精品va在线看黑人动漫| 欧美裸体视频网站| 日本一区二区在线播放| 91国内揄拍国内精品对白| 欧美性猛交视频| 国产在线观看精品一区二区三区| 欧美亚洲成人精品| 欧美激情精品久久久久久黑人| 精品久久久久久久久久久久| 亚洲欧洲在线播放| 最近2019中文字幕一页二页| 日本91av在线播放| 国内精品小视频在线观看| 国产在线观看91精品一区| 精品美女国产在线| 亚洲精品美女久久久久| 国产精品第3页| 欧美限制级电影在线观看| 国产精品扒开腿做爽爽爽视频| 日韩av片免费在线观看| 亚洲精品日韩丝袜精品| 亚洲精品自拍偷拍| 欧美国产日韩二区| 国产亚洲欧洲高清一区| www.亚洲免费视频| 亚洲国产欧美日韩精品| 北条麻妃在线一区二区| 中文国产亚洲喷潮| 亚洲免费福利视频| 日韩av综合网站| 深夜成人在线观看| 精品精品国产国产自在线| 亚洲欧美一区二区精品久久久| 中文字幕国内精品| 精品国产老师黑色丝袜高跟鞋| 永久免费看mv网站入口亚洲| 日本精品视频在线观看| 色噜噜久久综合伊人一本| 欧美亚洲国产精品| 欧美专区在线视频| 成人av.网址在线网站| 久久精品国亚洲| 中文字幕国产日韩| 97色伦亚洲国产| 久久久国产精彩视频美女艺术照福利| 亚洲美女av在线播放| 久久久伊人日本| 欧美精品在线免费观看| 伊人久久综合97精品| 久久久精品电影| 日韩av片免费在线观看| 亚洲精品不卡在线| 亚洲在线视频观看| 欧洲亚洲女同hd| 亚洲男人天堂视频| 91精品国产高清久久久久久久久| 亚洲精品乱码久久久久久金桔影视| 日韩一区二区久久久| 日韩av在线资源| 亚洲自拍偷拍网址| 欧美黄色三级网站| 精品久久久久久久大神国产| 精品日韩美女的视频高清| 91福利视频在线观看| 国产精品xxx视频| 日韩大片免费观看视频播放| 亚洲国产精品久久91精品| 国产成人中文字幕| 国产精品视频资源| 亚洲香蕉在线观看| 欧美理论在线观看| 久久成人精品一区二区三区| 日韩在线一区二区三区免费视频| 黑丝美女久久久| 国外成人在线视频| 日韩免费视频在线观看| 国产精品国语对白| 亚洲欧美日韩中文在线| 日韩av电影在线网| 亚洲 日韩 国产第一| 久久亚洲一区二区三区四区五区高| 午夜精品久久久久久久白皮肤| 麻豆一区二区在线观看| 国产精品69精品一区二区三区| 欧美日韩国产精品一区二区不卡中文| 国产日产欧美a一级在线| 国产精品视频公开费视频| 欧美亚洲另类在线| 亚洲最新av在线| 欧美在线一级va免费观看| 欧美性做爰毛片| 91高清视频在线免费观看| 国产日韩在线看片| 91av中文字幕| 夜夜嗨av色一区二区不卡| 亚洲综合自拍一区| 久久99久久99精品中文字幕| 日韩av电影在线播放| 欧美性做爰毛片| 亚洲女人被黑人巨大进入al| 精品视频偷偷看在线观看| 亚洲精品ady| 日韩欧美成人网| 欧美成人h版在线观看| 欧美日韩成人精品| 姬川优奈aav一区二区| 午夜精品久久久久久久久久久久久| 亚洲男人天堂手机在线| 91精品国产高清久久久久久| 日韩精品视频三区| www.久久久久久.com| 91国产美女在线观看| 欧美乱大交做爰xxxⅹ性3| 69av在线视频| 中文字幕亚洲二区| 国产精品一区二区三区在线播放| 日韩精品极品视频免费观看| 精品毛片三在线观看| 大胆欧美人体视频| 久久精品电影一区二区| 久久大大胆人体| 亚洲福利视频免费观看| 91精品国产沙发|