乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      架構(gòu)雜談《二》

       python_lover 2020-06-30

      服務(wù)化到微服務(wù)

      1、微服務(wù)的產(chǎn)生

        隨著互聯(lián)網(wǎng)企業(yè)的不斷發(fā)展,海量用戶發(fā)起的大規(guī)模、高并發(fā)請(qǐng)求是企業(yè)不得不面對(duì)的,上一篇 架構(gòu)雜談《一》雜談的SOA服務(wù)化系統(tǒng)能夠分解任務(wù),讓每個(gè)服務(wù)更簡(jiǎn)單、職責(zé)單一、更易于擴(kuò)展。但無(wú)論是Web Service 還是ESB,都有時(shí)代遺留下的問(wèn)題。

        Web Service

         1)依賴中心化的服務(wù)發(fā)現(xiàn)機(jī)制

         2)使用SOAP通訊協(xié)議,通常使用XML格式來(lái)序列化通信數(shù)據(jù),XML格式的數(shù)據(jù)冗余太大,協(xié)議太重

         3)服務(wù)化管理和治理設(shè)施并不完善

        ESB

         1)ESB 雖然是SOA實(shí)現(xiàn)的一種方式,卻更多地體現(xiàn)了系統(tǒng)集成的便利性,通過(guò)統(tǒng)一的服務(wù)總線將各個(gè)服務(wù)組合在一起

              2)組合在ESB上的服務(wù)本身有可能是一個(gè)臃腫的服務(wù)

         3)系統(tǒng)內(nèi)部的復(fù)雜性仍然存在。ESB試圖通過(guò)總線來(lái)掩蓋系統(tǒng)內(nèi)部的復(fù)雜性

              4)對(duì)于總線本身中心化的管道模型,系統(tǒng)變更時(shí)影響的范圍會(huì)隨之?dāng)U大

      出現(xiàn)問(wèn)題解決問(wèn)題是人類進(jìn)步的階梯,對(duì)于軟件架構(gòu)也是一樣,近年來(lái)服務(wù)架構(gòu)設(shè)計(jì)得到了進(jìn)一步的演化和發(fā)展,微服務(wù)架構(gòu)已經(jīng)出現(xiàn)在不同公司的討論、設(shè)計(jì)和實(shí)踐中,經(jīng)過(guò)市場(chǎng)檢驗(yàn)的東西肯定會(huì)被大家所接受。

        微服務(wù)架構(gòu)提倡將軟件應(yīng)用設(shè)計(jì)成多個(gè)可獨(dú)立開(kāi)發(fā)、配置、運(yùn)行和維護(hù)的子服務(wù),子服務(wù)之間通過(guò)良好的接口定義通信機(jī)制,通常使用RESTful風(fēng)格的API形式來(lái)通信。因?yàn)镽ESTful 風(fēng)格的 API 通常是在 HTTP 或者 HTTPS 通道上傳輸 JSON 格式的數(shù)據(jù)來(lái)實(shí)現(xiàn)的, HTTP協(xié)議有跨語(yǔ)言、跨異構(gòu)系統(tǒng)的優(yōu)點(diǎn), 當(dāng)然也可通過(guò)底層的二進(jìn)制協(xié)議、消息隊(duì)列協(xié)議等進(jìn)行交互。這些服務(wù)不需要中心化的統(tǒng)一管理,每個(gè)服務(wù)的功能可自治,并且可由不同的語(yǔ)言、系統(tǒng)和平臺(tái)實(shí)現(xiàn) 。 

        微服務(wù)架構(gòu)致力于松耦合和高內(nèi)聚的效果,與SOA和ESB相比,不再?gòu)?qiáng)調(diào)服務(wù)總線和通信機(jī)制的多樣性,通常通過(guò)RESTful 風(fēng)格的API和輕量級(jí)的消息通信協(xié)議來(lái)完成。

      微服務(wù)架構(gòu)并不是為了拆分而拆分,真正的目的是通過(guò)對(duì)微服務(wù)進(jìn)行水平擴(kuò)展解決傳統(tǒng)的單體應(yīng)用在業(yè)務(wù)急劇增長(zhǎng)時(shí)遇到的問(wèn)題,而且由于拆分的微服務(wù)系統(tǒng)中專業(yè)的人做 專業(yè)的事,人員和項(xiàng)目的職責(zé)單一、低藕合、高內(nèi)聚,所以產(chǎn)生問(wèn)題的概率就會(huì)降到最小。

      2、微服務(wù)與單體的對(duì)比

       

      (微服務(wù)架構(gòu)圖)

      從上圖可以得到:

        1)  微服務(wù)把每一個(gè)職責(zé)單一的功能放在一個(gè)獨(dú)立的服務(wù)中

        2)  每個(gè)服務(wù)運(yùn)行在一個(gè)單獨(dú)的進(jìn)程中

        3)  每個(gè)服務(wù)有多個(gè)實(shí)例在運(yùn)行,每個(gè)實(shí)例可以運(yùn)行在容器化平臺(tái)內(nèi)

        4)  每個(gè)服務(wù)有自己的數(shù)據(jù)存儲(chǔ),實(shí)際上,每個(gè)服務(wù)應(yīng)該有自己獨(dú)享的數(shù)據(jù)庫(kù)、緩存、消息隊(duì)列等

        5)  每個(gè)服務(wù)都可根據(jù)性能需求獨(dú)立地水平伸縮

       

      (單體架構(gòu)圖)

      通過(guò)對(duì)比,可以得到傳統(tǒng)單體架構(gòu)的特點(diǎn):

        1)  傳統(tǒng)單體架構(gòu)將所有模塊化組件糅合后運(yùn)行在同一個(gè)服務(wù)的進(jìn)程中

        2)  某個(gè)模塊發(fā)生變更時(shí),需要將所有的模塊編譯、打包上線

        3)  久而久之,模塊間的依賴將會(huì)不清晰,互相耦合,互相依賴成為常態(tài)

      通過(guò)將兩種架構(gòu)對(duì)比來(lái)看,微服務(wù)架構(gòu)更加的靈活并且可水平伸縮,可以讓專業(yè)的人干專業(yè)的事。

      3、微服務(wù)與SOA服務(wù)的對(duì)比

        微服務(wù)架構(gòu)的一些特點(diǎn)與 SOA 服務(wù)化架構(gòu)相似, 事實(shí)上微服務(wù)架構(gòu)與 SOA 服務(wù)化架構(gòu)并不沖突,它們一脈相承,微服務(wù)架構(gòu)是服務(wù)化架構(gòu)響應(yīng)特定歷史時(shí)期的使用場(chǎng)景的延續(xù),是服務(wù)化進(jìn)行升華井落地的一種實(shí)現(xiàn)方式。 SOA 服務(wù)化的理念在微服務(wù)架構(gòu)中仍然有效,微服務(wù)在 SOA 服務(wù)化的基礎(chǔ)上進(jìn)行了演進(jìn)和疊加,形成了適合現(xiàn)代化應(yīng)用場(chǎng)景的一個(gè)方法論。

      經(jīng)過(guò)幾十年互聯(lián)網(wǎng)的高速發(fā)展,以及敏捷、持續(xù)集成、持續(xù)交付、DevOps、云技術(shù)等的深入人心,服務(wù)架構(gòu)的開(kāi)發(fā)、測(cè)試、部署以及監(jiān)控等,相比SOA已經(jīng)發(fā)生大的變化。

        1)  SOA 服務(wù)化涉及的范圍更廣一些,強(qiáng)調(diào)不同的異構(gòu)服務(wù)之間的協(xié)作和契約 ,并強(qiáng)調(diào)有效集成、業(yè)務(wù)流程編排、歷史應(yīng)用集成等,典型代表為 Web Service 和 ESB

        2)  微服務(wù)使用一系列的微小服務(wù)來(lái)實(shí)現(xiàn)整體的業(yè)務(wù)流程,目的是有效地拆分應(yīng)用,實(shí)現(xiàn)敏捷開(kāi)發(fā)和部署,在每個(gè)微小服務(wù)的團(tuán)隊(duì)里,減少了跨團(tuán)隊(duì)的溝通,讓專業(yè)的人做專業(yè)的事,縮小變更和法代影響的范圍,并達(dá)到單一微服務(wù)更容易水平擴(kuò)展的目的

        3)  微服務(wù)將完整的應(yīng)用拆分成多個(gè)細(xì)小的服務(wù),通常使用敏捷擴(kuò)容、縮容的 Docker 技術(shù)來(lái)實(shí)現(xiàn)自動(dòng)化的容器管理 , 每個(gè)微服務(wù)運(yùn)行在單一的進(jìn)程內(nèi),微服務(wù)中的部署互相獨(dú)立 、 互不影響。

        4)  SOA 服務(wù)化通常將多個(gè)業(yè)務(wù)服務(wù)通過(guò)組件化模塊方式打在一個(gè)包里,然后統(tǒng)一部署在一個(gè)應(yīng)用服務(wù)器上。

        6)  SOA 對(duì)粒度沒(méi)有要求 , 在實(shí)踐中服務(wù)通常是粗粒度的,強(qiáng)調(diào)接口契約的規(guī)范化,內(nèi)部實(shí)現(xiàn)可以更粗粒度。

      相比SOA的服務(wù)實(shí)現(xiàn)方式,微服務(wù)更具靈活性、可實(shí)施性以及可擴(kuò)展性,其強(qiáng)調(diào)的是一種獨(dú)立測(cè)試、獨(dú)立部署、獨(dú)立運(yùn)行的軟件架構(gòu)模式。對(duì)于微服務(wù)的概念而言,它是SOA的一個(gè)子集,而對(duì)于其實(shí)現(xiàn)方式而言,它是一種更符合現(xiàn)代化互聯(lián)網(wǎng)發(fā)展趨勢(shì)的實(shí)踐,是一種更容易幫助企業(yè)或組織有效并成功實(shí)施的服務(wù)架構(gòu)。

      總結(jié)

      最后讓我來(lái)總結(jié)下微服務(wù)架構(gòu)的主要特點(diǎn)

      • 將傳統(tǒng)單體應(yīng)用拆分成網(wǎng)絡(luò)服務(wù),來(lái)實(shí)現(xiàn)模塊化組件 。

      • 根據(jù)微服務(wù)架構(gòu)的服務(wù)劃分來(lái)分組職能團(tuán)隊(duì),減少跨團(tuán)隊(duì)的溝通 。

      • 每個(gè)服務(wù)對(duì)應(yīng)一個(gè)團(tuán)隊(duì),團(tuán)隊(duì)成員負(fù)責(zé)開(kāi)發(fā)、測(cè)試、運(yùn)維和運(yùn)營(yíng) ,開(kāi)發(fā)后在團(tuán)隊(duì)內(nèi)運(yùn)維和運(yùn)營(yíng),不需要交付給其他團(tuán)隊(duì)。

      • 去中 心化、 去 SOA 服務(wù)化的中 心服務(wù)治理和去企業(yè)服務(wù)總線 。

      • 微服務(wù)重視服務(wù)的合理拆分、分層和構(gòu)造,可建設(shè)自動(dòng)化持續(xù)發(fā)布平臺(tái),井進(jìn)行敏捷開(kāi)發(fā)和部署。

       說(shuō)明:

        1、文中的圖都來(lái)自于百度圖片

        2、參考書(shū)籍:《分布式服務(wù)架構(gòu):原理、設(shè)計(jì)與實(shí)戰(zhàn)》

        3、如有不合適的地方請(qǐng)反饋。綜合后更改。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多