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

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

    • 分享

      微服務(wù)分解策略

       菌心說 2021-04-16
      微服務(wù)分解策略

      微服務(wù)架構(gòu)的關(guān)鍵思想是功能分解。這意味著您無需開發(fā)單個大型應(yīng)用程序,就可以將您的應(yīng)用程序結(jié)構(gòu)分解為一組邏輯服務(wù)。

      應(yīng)用程序的體系結(jié)構(gòu)很重要,因?yàn)樗鼪Q定了服務(wù)的質(zhì)量

      • 傳統(tǒng)目標(biāo):可伸縮性,可靠性和安全性。
      • 其他現(xiàn)代目標(biāo):快速,安全地提供服務(wù)??删S護(hù)性,可測試性和可部署性。

      軟件構(gòu)架

      應(yīng)用程序的體系結(jié)構(gòu)是將其分解為組件以及這些組件之間的關(guān)系。

      分解很重要,因?yàn)樗兄趫F(tuán)隊(duì)之間的工作和知識分配,并提供應(yīng)用程序整體工作的清晰度。

      軟件架構(gòu)的4 + 1視圖模型

      微服務(wù)分解策略
      微服務(wù)分解策略

      它定義了軟件體系結(jié)構(gòu)的四個視圖

      邏輯視圖

      • 由開發(fā)人員創(chuàng)建
      • 組件:類和包
      • 關(guān)系:他們之間的關(guān)系

      開發(fā)視圖 /實(shí)施意見

      • 組件:模塊(JAR)和可部署/可執(zhí)行(WAR)
      • 關(guān)系:依賴關(guān)系

      進(jìn)程視圖

      • 組成部分:進(jìn)程
      • 關(guān)系:IPC

      物理視圖

      • 組件:機(jī)器和流程(節(jié)點(diǎn))
      • 關(guān)系:網(wǎng)絡(luò)

      4 + 1視圖模型中的+1代表動畫視圖,并描述特定視圖中的各個組件如何協(xié)同工作以處理請求。

      架構(gòu)風(fēng)格

      分層架構(gòu)

      分層體系結(jié)構(gòu)將軟件組件分層組織。層可以依賴于其下面的任何層。

      流行的三層架構(gòu)是分層架構(gòu)

      微服務(wù)分解策略
      微服務(wù)分解策略

      分層架構(gòu)的缺點(diǎn)

      • 依賴性沒有很好地表示。
      • 并不表示架構(gòu)可以具有多個表示層。
      • 并不代表該體系結(jié)構(gòu)可以具有多個數(shù)據(jù)存儲的事實(shí)。
      • 應(yīng)用程序?qū)优c數(shù)據(jù)層緊密耦合,因此在沒有數(shù)據(jù)庫的情況下很難測試應(yīng)用程序邏輯。

      六角形架構(gòu)

      基于建筑風(fēng)格的整體

      整體架構(gòu)可以定義為一種架構(gòu)樣式,該架構(gòu)樣式將實(shí)現(xiàn) 視圖表示為單個組件:單個可執(zhí)行文件或可部署文件。

      基于架構(gòu)風(fēng)格的微服務(wù)

      架構(gòu)風(fēng)格的微服務(wù)架構(gòu)表示一個具有一組多個組件的實(shí)現(xiàn)視圖:可執(zhí)行文件和Wars。

      組件是服務(wù),關(guān)系是通過通信協(xié)議進(jìn)行的。盡管通常實(shí)現(xiàn)六邊形體系結(jié)構(gòu),但是各個服務(wù)可以自由選擇其體系結(jié)構(gòu)。

      微服務(wù)分解策略

      微服務(wù)架構(gòu)服務(wù)的關(guān)鍵約束應(yīng)該松散耦合。

      服務(wù)

      服務(wù)是實(shí)現(xiàn)某些有用功能的獨(dú)立,可獨(dú)立部署的組件。

      服務(wù)通常提供兩類動作

      • 命令:執(zhí)行操作并更新數(shù)據(jù)。
      • 查詢:獲取數(shù)據(jù)

      服務(wù)還會發(fā)布事件。

      松耦合

      任何兩個服務(wù)將僅通過API進(jìn)行通信。API隱藏了服務(wù)的內(nèi)部實(shí)現(xiàn)。兩個服務(wù)不共享同一數(shù)據(jù)庫以提供運(yùn)行時隔離,因此一個服務(wù)無法持有將阻止另一服務(wù)的鎖。

      定義應(yīng)用程序的微服務(wù)架構(gòu)

      步驟如下:

      • 識別系統(tǒng)操作。
      • 身份服務(wù)
      • 為每個服務(wù)及其之間的交互定義API

      識別系統(tǒng)操作

      將系統(tǒng)視為黑匣子?,F(xiàn)在確定所有系統(tǒng)操作。

      系統(tǒng)操作是應(yīng)用程序必須處理的請求的抽象。它可以是命令,也可以是查詢。

      它涉及以下操作:

      • 收集系統(tǒng)的需求。
      • 確定通常從需求中的名詞派生的域模型。
      • 確定通常從需求中的動詞派生的系統(tǒng)操作。
      • 從UI和UX的角度看,將在系統(tǒng)上執(zhí)行哪些操作。

      定義服務(wù)

      有兩種方法可以識別系統(tǒng)中的服務(wù):

      • 按業(yè)務(wù)能力分解
      • 按域驅(qū)動器設(shè)計分解

      分解原理

      單一責(zé)任原則

      一個類只有一個改變的理由。(羅伯特·馬?。≧obert C.Martin))

      開放關(guān)閉原則

      包中的類應(yīng)針對相同的更改一起封閉。影響軟件包的更改會影響該軟件包中的所有類。(羅伯·馬丁(Rober C.Martin))

      將應(yīng)用程序分解為服務(wù)的障礙

      • 網(wǎng)絡(luò)延遲(高往返)
      • 由于同步通信,降低了應(yīng)用程序的可用性。
      • 維護(hù)各服務(wù)之間的數(shù)據(jù)一致性
      • 獲取數(shù)據(jù)庫的一致視圖。
      • 上帝類(在所有服務(wù)中都使用的班)

      定義服務(wù)API

      服務(wù)API有兩類

      • 暴露給外部客戶端。
      • 用于內(nèi)部服務(wù)協(xié)作。

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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多