<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                >**架構演進** ## 1. 單體架構 以前的系統大多是各個業務系統集中在一個單體的代碼包中,包括現在也有部分傳統公司也使用單體式的架構。比如訂單、支付、商品、登錄等模塊全部寫在一個代碼包中。很多企業都是打包成war包部署到tomcat中。如下圖: ![](https://img.kancloud.cn/6c/4d/6c4d608b3e18b9a515266691a8ffe740_895x663.jpg) ### 1.1單體的優缺點 - 優點:單體系統部署簡單,只要達成一個包丟到web服務器即可 - 缺點:代碼耦合性較高、任一業務出問題都會導致其他模塊不可用 ## 2.SOA架構 服務導向式架構(SOA)是集成多個較大組件(一般是應用)的一種機制,它們將整體構成一個彼此協作的套件。一般來說,每個組件會從始至終執行一塊完整的業務邏輯,通常包括完成整體大action所需的各種具體任務與功能。組件一般都是松耦合的,SOA嘗試將應用集成,一般采用中央管理模式來確保各應用能夠交互運作。如下圖: ![](https://img.kancloud.cn/a6/72/a672a7a6a99e014181d8c697343272e0_797x611.png) 上圖實現的構架是對單體的演進,各個系統拆分開來,每個模塊對應自己的數據庫(mysql、oracle、MongoDB、redis等不限制)。服務之間的調度依賴總線 ### 2.1 SOA的優缺點 - 優點: 1. 易維護 業務服務提供者和業務服務使用者的松散耦合關系及對開放標準的采用確保了該特性的實現。建立在以 SOA基礎上的信息系統,當需求發生變化的時候,不需要修改提供業務服務的,只需要調整業務服務流程或者修改操作即可,整個應用系統維護也簡單了。 2. 可用性高 服務提供者和服務使用者的松散耦合關系上得以發揮與體現。使用者無須了解提供者的具休實現細節 3. 伸縮性提高 服務提供者可以互相彼此獨立地進行調整,以滿足新的服務需求 - 缺點: 1. 過于依賴總線控制,存在單點問題 2. 涉及不同系統事務一致性問題(分布式相關后續會專門來說) 3. 系統之間交互需要使用遠程通信,接口開發增加工作量 ## 3.微服務架構 微服務,關鍵其實不僅僅是微服務本身,而是系統要提供一套基礎的架構,這種架構使得微服務可以獨立的部署、運行、升級,不僅如此,這個系統架構還讓微服務與微服務之間在結構上“松耦合”,而在功能上則表現為一個統一的整體。 微服務提倡的理念團隊間應該是 inter-operate, not integrate 。inter-operate是定義好系統的邊界和接口,在一個團隊內全棧,讓團隊自治,原因就是因為如果團隊按照這樣的方式組建,將溝通的成本維持在系統內部,每個子系統就會更加內聚,彼此的依賴耦合能變弱,跨系統的溝通成本也就能降低。如下圖: ![](https://img.kancloud.cn/1d/20/1d20b2089fb75624b1737878350b2b54_1610x1397.jpg) 微服務之前的通信不像SOA架構模式中依賴dubbo、ebs等總線控制,系統之前可以點對點的互相負載均衡調用(平級關系),服務之前只需要了解對應的名稱,不需要知道ip,應用支持水平拓展,通過網關控制系統訪問和限流。具體如何實現的呢?請看后續的介紹。 ## 4.云原生架構 所謂云原生,這里引用CNCF 給出的特增 NCF給出了云原生應用的三大特征: * 容器化封裝:以容器為基礎,提高整體開發水平,形成代碼和組件重用,簡化云原生應用程序的維護。在容器中運行應用程序和進程,并作為應用程序部署的獨立單元,實現高水平資源隔離。 * 動態管理:通過集中式的編排調度系統來動態的管理和調度。 * 面向微服務:明確服務間的依賴,互相解耦。 由此可見,云原生是包含微服務的,具體展示的架構圖和微服務的類似,主要區別是研發主要關注業務實現,底層的監控、基礎設施等云服務廠商均已提供相應的服務,當然也可自己部署,云原生目前還是依賴Kubernetes編排,Kubernetes出身于互聯網行業的巨頭Google公司,Kubernetes站在平臺的角度考慮讓問題消失
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看