<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 分布式系統(tǒng)架構(gòu)實(shí)踐

    時間:2024-05-30 10:13:37 系統(tǒng)架構(gòu)師 我要投稿
    • 相關(guān)推薦

    分布式系統(tǒng)架構(gòu)實(shí)踐

      五彩石項(xiàng)目并沒有以淘寶網(wǎng)或者淘寶商城的架構(gòu)為基礎(chǔ)進(jìn)行演化式的改進(jìn),而是進(jìn)行了比較徹底的重構(gòu),是一次全新的架構(gòu)升級, 是分布式技術(shù)跨時代之進(jìn)步。

      在做系統(tǒng)整合之前,整個架構(gòu)和非互聯(lián)網(wǎng)的軟件廠商架構(gòu)是一樣的,基礎(chǔ)架構(gòu)基于商業(yè)數(shù)據(jù)庫、小型機(jī)、高端存儲設(shè)備,業(yè)務(wù)系統(tǒng)架構(gòu)是端到端的煙囪式架構(gòu)。

      簡單來說,每個業(yè)務(wù)版塊都是一個獨(dú)立系統(tǒng),公共的數(shù)據(jù)都是訪問數(shù)據(jù)庫的,沒有形成公共的服務(wù)層。端到端的架構(gòu)優(yōu)勢是小規(guī)模團(tuán)隊(duì)作戰(zhàn),速度會很快,各種復(fù)雜的需要一般都只需在一個系統(tǒng)即可完成,而且研發(fā)同學(xué)對整個系統(tǒng)都很熟悉,系統(tǒng)運(yùn)維都比較簡單,同時系統(tǒng)的穩(wěn)定性也比較高。

      隨著業(yè)務(wù)復(fù)雜度的提升,系統(tǒng)規(guī)模的不斷擴(kuò)展,這種架構(gòu)也開始出現(xiàn)問題。包括如下挑戰(zhàn):

      業(yè)務(wù)研發(fā)效率比較低

      業(yè)務(wù)研發(fā)效率也導(dǎo)致了業(yè)務(wù)的擴(kuò)展性受限,做一個新的市場也必須重新開始建設(shè),而不能重用一些業(yè)務(wù)模塊。

      系統(tǒng)擴(kuò)展性較弱

      因?yàn)閿?shù)據(jù)庫連接的關(guān)系。應(yīng)用服務(wù)器的擴(kuò)展規(guī)模受限制,別外數(shù)據(jù)庫本身的容量也會因?yàn)樾⌒蜋C(jī)的計(jì)算能力而受限。

      技術(shù)升級受限

      比如要對數(shù)據(jù)庫進(jìn)行擴(kuò)展或者修改,需要修改多個系統(tǒng),然后再對多個系統(tǒng)進(jìn)行回歸測試,同樣對熱點(diǎn)數(shù)據(jù)增加緩存,也需要對多個系統(tǒng)進(jìn)行修改。

      通過抽象和梳理,本質(zhì)上我們需要解決的第一個問題,就是業(yè)務(wù)的擴(kuò)展性問題,然后需要解決因?yàn)檫@個問題帶來的技術(shù)擴(kuò)展性問題。

      1、業(yè)務(wù)擴(kuò)展性問題之解決

      為了解決業(yè)務(wù)擴(kuò)展性問題,首先需要建立共享服務(wù)層。把公共的業(yè)務(wù)元素抽離出來形成共享的服務(wù)。

      比如taobao.com、tmall.com、ju.taobao.com等應(yīng)用,這些都需要用到會員服務(wù),那么就把會員服務(wù)作為共享服務(wù)抽取出來,任何系統(tǒng)需要獲取會員信息時只需通過調(diào)用會員服務(wù)的API就可以,而不需要每個業(yè)務(wù)方自己再開發(fā)一套會員系統(tǒng)。

      同樣思路,把電商業(yè)務(wù)公共的服務(wù),如商品服務(wù)、交易服務(wù)、營銷服務(wù)、店鋪服務(wù)、推薦服務(wù)、庫存、物流等從各個業(yè)務(wù)抽離出來建設(shè)成共享服務(wù),后續(xù)新建的業(yè)務(wù)市場均基于這些公共的電商元素來構(gòu)建。

      共享服務(wù)層的建立很好地對橫向業(yè)務(wù)提供了統(tǒng)一的數(shù)據(jù)和服務(wù)收口,例如手機(jī)淘寶、安全、商家服務(wù)這三個橫向的業(yè)務(wù)就非常依賴共享服務(wù)。

      如下列表:

      手機(jī)淘寶通過共享服務(wù)得到了業(yè)務(wù)輸出的一致性和統(tǒng)一性

      安全上,比如對商品數(shù)據(jù)做統(tǒng)一治理

      商家服務(wù)則使用了共享服務(wù)開發(fā)TOP平臺,來對接外部商家的工具包

      各個共享服務(wù)之間形成了比較的隔離,保障各個共享服務(wù)獨(dú)立的發(fā)展空間,每個共享服務(wù)之間有互相關(guān)聯(lián),又互相獨(dú)立。

      在系統(tǒng)建設(shè)上,把交易和商品兩個服務(wù)中心完全獨(dú)立的團(tuán)隊(duì)和獨(dú)立的系統(tǒng)去建設(shè)。

      商品服務(wù)中心和交易服務(wù)中心是完全獨(dú)立的兩套共享服務(wù),所以在業(yè)務(wù)發(fā)展層面比較獨(dú)立,系統(tǒng)間又不互相影響。

      這使得商品相關(guān)的業(yè)務(wù)全部封閉在商品服務(wù)中心里,交易相關(guān)的業(yè)務(wù)全部封閉在交易服務(wù)中心里,架構(gòu)的域之間形成低耦合、高內(nèi)聚。由于隔離做得比較好,沒有業(yè)務(wù)之間的復(fù)雜交錯,所以各個業(yè)務(wù)領(lǐng)域發(fā)展創(chuàng)新不受限制。

      值得一提的案例就是早期支付業(yè)務(wù)慢慢成為支付寶,物流業(yè)務(wù)發(fā)展為菜鳥物流,而TOP從給商家提供API演化為服務(wù)商家的聚石塔。

      2、技術(shù)擴(kuò)展性問題的解決

      第二個問題就提技術(shù)擴(kuò)展性。『房子千奇百怪,但是磚頭都是一樣的』。

      利用共享服務(wù)解決了業(yè)務(wù)擴(kuò)展性的問題,它的好處是新構(gòu)建一個業(yè)務(wù)市場變得非常容易和快捷,同時任何數(shù)據(jù)結(jié)構(gòu)的變化只需在一個地方改變。

      帶來的挑戰(zhàn)是系統(tǒng)分布式后對于研發(fā)來說,要關(guān)注分布式本身。這是我們不希望的,我們希望開發(fā)人員仍然像之前開發(fā)單機(jī)版的軟件一樣開發(fā)軟件,把分布式的控制在一些通用的組件里面。

      這就需要引入解決分布式問題的中間件技術(shù)。

      當(dāng)時并沒有商業(yè)軟件可以使用,也沒有合適的開源產(chǎn)品可以選。五彩石項(xiàng)目第一次大規(guī)模使用了中間件。系統(tǒng)分布式后,需要有一套統(tǒng)一的組件來解決分布式引發(fā)的共性技術(shù)問題。比如提供服務(wù)的發(fā)現(xiàn)機(jī)制、提供服務(wù)的分組路由機(jī)制、同機(jī)房優(yōu)先機(jī)制等。我們將其沉淀在一個框架里,這個框架被稱為HSF。

      為了解決單庫性能瓶頸問題,使用分庫分表的技術(shù),這個技術(shù)被沉淀在TDDL框架上面。

      為了解決分布式事務(wù)的性能問題,把原本一個事務(wù)的工作拆成了異步執(zhí)行,同時必須要保證最終數(shù)據(jù)的一致性,我們采用了消息發(fā)布訂閱的方式來解決,這個消息框架就是Notify。

      有了HSF、TDDL、Notify這『三大件』,有效地解決了應(yīng)用分布式后引發(fā)的技術(shù)擴(kuò)展性問題,同時讓整個系統(tǒng)的技術(shù)架構(gòu)變得依舊如當(dāng)初一樣的簡。

      如果系統(tǒng)計(jì)算能力不夠,基本上能做到只需要增加服務(wù)器即可。共享服務(wù)層和分布式中間件使頻繁的業(yè)務(wù)變化封閉在了一個適合的系統(tǒng)層,同時技術(shù)的變化也隔離在了一個合適的范圍。如下圖所示:

      小結(jié)

      為了解決業(yè)務(wù)擴(kuò)展性問題,通過抽取共享服務(wù)層,在非常低的試錯成本下涌現(xiàn)出來大量新的業(yè)務(wù)市場,推動了阿里電商業(yè)務(wù)的快速發(fā)展,同時共享服務(wù)本身也隨著業(yè)務(wù)發(fā)展起到了越重要的作用。比如庫存中心服務(wù)的抽取,使得和商家對接的供應(yīng)鏈領(lǐng)域得到了快速發(fā)展。

      為了解決技術(shù)擴(kuò)展性問題,引入了分布中間件技術(shù)。擴(kuò)展服務(wù)器的存儲和計(jì)算能力變得只需要增加服務(wù)器就可以輕松解決,研發(fā)過程不需要關(guān)注分布式帶來的的理解上的困難。分布式中間件的本質(zhì)是讓多臺廉價(jià)的PC服務(wù)器可以組成一臺超級計(jì)算機(jī)。

      通過五彩石項(xiàng)目,阿里技術(shù)完成了一次偉大的技術(shù)變革,為后續(xù)的持續(xù)架構(gòu)演進(jìn)打下了堅(jiān)實(shí)基礎(chǔ)。沉淀了一套『共享服務(wù)化』的架構(gòu)理念,以及一套與該架構(gòu)理念相對應(yīng)的分布式中間件技術(shù)。

      這個架構(gòu)理念和這套分布式中間件技術(shù)在后續(xù)阿里的業(yè)務(wù)和技術(shù)發(fā)展上被大范圍使用,同時也被業(yè)界很多互聯(lián)網(wǎng)公司所借鑒。

    【分布式系統(tǒng)架構(gòu)實(shí)踐】相關(guān)文章:

    如何搭建系統(tǒng)CSS架構(gòu)12-31

    系統(tǒng)架構(gòu)設(shè)計(jì)模式大全08-22

    系統(tǒng)架構(gòu)師是做什么的12-30

    如何成為優(yōu)秀的系統(tǒng)架構(gòu)師06-03

    圖書檢索系統(tǒng)體系架構(gòu)研究12-05

    基于云架構(gòu)的系統(tǒng)安全設(shè)計(jì)08-08

    系統(tǒng)架構(gòu)師的就業(yè)前景分析01-11

    系統(tǒng)架構(gòu)設(shè)計(jì)師要素01-11

    系統(tǒng)架構(gòu)師必須具備哪些能力05-07

    MES系統(tǒng)安全架構(gòu)設(shè)計(jì)09-19

    主站蜘蛛池模板: 乱色精品无码一区二区国产盗| 国产综合色在线精品| 亚洲AV第一页国产精品| 2021国产三级精品三级在专区| 无码精品国产一区二区三区免费| 国产精品爱搞视频网站| 99在线精品视频| 无码精品视频一区二区三区 | 欧美一卡2卡3卡四卡海外精品| 亚洲精品成人无码中文毛片不卡| 国产精品麻豆入口| 免费91麻豆精品国产自产在线观看| 精品人伦一区二区三区潘金莲| 中文字幕一区二区三区日韩精品| 久久久这里有精品中文字幕| 亚洲精品少妇30p| 久久精品亚洲精品国产欧美| 99久久综合国产精品二区| 国内精品一级毛片免费看| 国产色婷婷五月精品综合在线| 在线观看自拍少妇精品| 日韩精品亚洲专区在线观看| 精品无码国产自产拍在线观看蜜| 国产精品福利片免费看| 99久久精品九九亚洲精品| 1区1区3区4区产品芒果精品| 久久精品国产亚洲一区二区| 国产精品国产三级国产专播| 凹凸国产熟女精品视频app| 国产精品视频二区不卡| 国精品无码一区二区三区左线 | 精品国产福利久久久| 99精品视频在线观看免费| 国产91精品在线| 青青青青久久精品国产h| 亚洲无删减国产精品一区| 香蕉久久夜色精品国产小说| 奇米精品一区二区三区在线观看| 日本久久久精品中文字幕| 中文字幕亚洲精品资源网| 国产精品极品|