分布式系統(tǒng)以及方法論

一、分布式系統(tǒng)

隨著互聯(lián)網(wǎng)的高速發(fā)展,業(yè)務規(guī)模和數(shù)據(jù)量的不斷增大鉴分,系統(tǒng)架構也在不斷的演變腿堤。從單機集中式架構到集群部署架構,再到分布式架構,乃至分布式集群。

分布式和集群既能放在一起講,也可以相互獨立砌庄,它們的含義卻是不同。

  • 分布式
    把一個大任務拆分成多個小的任務(或者說業(yè)務),部署在不同的物理機或者不同的服務娄昆。
  • 集群
    同一個業(yè)務佩微,部署在不同的服務器上。

比如:一個工作任務需要8個小時才能完成萌焰。
分布式:8臺機器哺眯,把任務分隔,同時跑起來扒俯,1個小時就能完成奶卓。
集群:8臺機器,每個機器都跑相同的任務撼玄,最后完成還是需要8小時夺姑。

下面我們以JavaWeb系統(tǒng)為例,來搭建一個電商平臺系統(tǒng)掌猛,隨著業(yè)務的快速發(fā)展盏浙,以這個系統(tǒng)來更加清晰的觀察系統(tǒng)架構的演變。

假設我們的系統(tǒng)分為下面幾個模塊:

序號 模塊 功能
1 用戶模塊 用戶注冊和信息管理
2 商品模塊 商品展示和信息管理
3 交易模塊 交易以及支付結算

1荔茬、單機集中式

項目前期废膘,產(chǎn)品知名度不高,訪問量較小的情況下慕蔚,通常會花錢買一臺相對性能不錯的服務器丐黄,將所有的軟件和應用都部署在一臺服務器上,這樣就完成了系統(tǒng)的搭建孔飒。


單機集中式部署

2灌闺、集群

隨著用戶的增多,訪問量的逐步上升十偶,服務器負載會漸漸提高菩鲜。這時候园细,通常先會把數(shù)據(jù)庫和應用分離惦积,釋放單臺服務器的壓力。但是猛频,在形勢大好的情況下狮崩,產(chǎn)品的知名度越來越高,訪問量也越來越大鹿寻,很快也許單臺應用服務器也承受不住壓力睦柴。這時候,我們就要做集群部署毡熏。


集群架構部署

3坦敌、分布式

上面是一個很簡單的集群架構,只是把WEB應用獨立部署,但隨著時間的推移狱窘,數(shù)據(jù)庫壓力早晚也遭不住杜顺。那么,數(shù)據(jù)庫的集群也在所難免蘸炸,當然主從模式下的讀寫分離往往是第一選擇躬络。再往下發(fā)展,根據(jù)業(yè)務特點可以考慮緩存搭儒、搜索引擎穷当、分庫分表...
隨著業(yè)務的發(fā)展,應用的壓力越來越大淹禾,代碼量也越來越龐大馁菜。往往一次小的改動,就要集成發(fā)布很久铃岔,相關聯(lián)的覆蓋測試也難以控制火邓。這時候,就考慮將應用拆分德撬,將核心業(yè)務抽取出來铲咨,作為獨立的服務。每個服務都獨立開發(fā)和部署蜓洪,服務之間采用RPC調(diào)用纤勒、消息隊列、數(shù)據(jù)同步等機制傳輸數(shù)據(jù)隆檀。


Screenshot_3.png

我們看到摇天,分布式系統(tǒng)就是一個硬件或軟件組件,分布在不同的網(wǎng)絡計算機上恐仑,彼此之間僅僅通過消息傳遞進行通信和協(xié)調(diào)的系統(tǒng)泉坐。它所有的計算和數(shù)據(jù)傳遞都依靠網(wǎng)絡完成,在大型分布式系統(tǒng)中裳仆,如何同步節(jié)點狀態(tài)腕让、如何保證節(jié)點高可用、如何保證數(shù)據(jù)一致性歧斟、通信異常纯丸、網(wǎng)絡分區(qū)等就是亟需解決的問題。

二静袖、方法論

1觉鼻、CAP理論

分布式系統(tǒng)有三個指標,在2000年的分布式計算原則研討會上队橙,由柏克萊加州大學的計算機科學家埃里克·布魯爾提出坠陈。

英文 中文 含義
Consistency 一致性 數(shù)據(jù)在分布式環(huán)境下的多個副本之間保持一致性
Availability 可用性 分布式系統(tǒng)一直處于可用狀態(tài)萨惑,對于請求總是能在有限的時間內(nèi)返回結果
Partition tolerance 分區(qū)容錯性 除非整個網(wǎng)絡故障,分布式系統(tǒng)在任何網(wǎng)絡或者單點故障時仇矾,仍能對外提供滿足一致性和可用性的服務

CAP理論:一個分布式系統(tǒng)不可能同時滿足一致性咒钟、可用性和分區(qū)容錯性這三個基本需求,最多只能同時滿足其中的兩項若未;

滿足 說明
滿足AC朱嘴,放棄P 將數(shù)據(jù)和服務都放在同一節(jié)點,避免因網(wǎng)絡故障引起負面影響粗合,可以保證系統(tǒng)的可用性和一致性
滿足PC萍嬉,放棄A 當節(jié)點故障時,受影響的服務需要等待一定的時間隙疚,在此時間內(nèi)壤追,系統(tǒng)無法正常對外提供服務
滿足AP,放棄C 無法保證數(shù)據(jù)的實時一致性供屉,但最終會保持一致性行冰。

2、BASE理論

BASE理論是CAP理論的延伸伶丐,它主要是說悼做,如果無法做到數(shù)據(jù)的強一致性,也可以根據(jù)自己的業(yè)務特點哗魂,采用合適的方式使系統(tǒng)達到最終一致性肛走。

  • Basically Avaliable 基本可用
    當分布式系統(tǒng)出現(xiàn)故障時,允許損失部分可用性录别,保證系統(tǒng)的基本可用朽色。比如雙十一期間的,頁面卡頓组题、服務降級等葫男。

  • Soft State 軟狀態(tài)
    允許系統(tǒng)中的數(shù)據(jù)存在中間狀態(tài),既系統(tǒng)的不同節(jié)點的數(shù)據(jù)副本之間的數(shù)據(jù)同步過程存在延時崔列,并認為這種延時不會影響系統(tǒng)可用性梢褐。

  • Eventually consistent 最終一致性
    所有的數(shù)據(jù)在經(jīng)過一段時間的數(shù)據(jù)同步后,最終能夠達到一致的狀態(tài)峻呕。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末利职,一起剝皮案震驚了整個濱河市趣效,隨后出現(xiàn)的幾起案子瘦癌,更是在濱河造成了極大的恐慌,老刑警劉巖跷敬,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件讯私,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機斤寇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門桶癣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人娘锁,你說我怎么就攤上這事牙寞。” “怎么了莫秆?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵间雀,是天一觀的道長。 經(jīng)常有香客問我镊屎,道長惹挟,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任缝驳,我火速辦了婚禮连锯,結果婚禮上,老公的妹妹穿的比我還像新娘用狱。我一直安慰自己运怖,他們只是感情好,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布夏伊。 她就那樣靜靜地躺著驳规,像睡著了一般。 火紅的嫁衣襯著肌膚如雪署海。 梳的紋絲不亂的頭發(fā)上吗购,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天,我揣著相機與錄音砸狞,去河邊找鬼捻勉。 笑死,一個胖子當著我的面吹牛刀森,可吹牛的內(nèi)容都是我干的踱启。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼研底,長吁一口氣:“原來是場噩夢啊……” “哼埠偿!你這毒婦竟也來了?” 一聲冷哼從身側響起榜晦,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤冠蒋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后乾胶,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抖剿,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡朽寞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了斩郎。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片脑融。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖缩宜,靈堂內(nèi)的尸體忽然破棺而出肘迎,到底是詐尸還是另有隱情,我是刑警寧澤锻煌,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布膜宋,位于F島的核電站,受9級特大地震影響炼幔,放射性物質發(fā)生泄漏秋茫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一乃秀、第九天 我趴在偏房一處隱蔽的房頂上張望肛著。 院中可真熱鬧,春花似錦跺讯、人聲如沸枢贿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽局荚。三九已至,卻和暖如春愈污,著一層夾襖步出監(jiān)牢的瞬間耀态,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工暂雹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留首装,地道東北人。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓杭跪,卻偏偏與公主長得像仙逻,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子涧尿,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容