更新時間:2021-03-22 來源:黑馬程序員 瀏覽量:
微服務是什么?
微服務架構是團隊面對互聯(lián)網(wǎng)產(chǎn)品爆發(fā)式增長的最優(yōu)選擇,要解決的是快速迭代、高可靠和高可用等問題,把復雜度很高的產(chǎn)品拆分成一些較小的模塊,并遵循康威定律,每一個模塊用5-9個小團隊來維護,這樣可以減少溝通成本,提高協(xié)作效率,更好地實現(xiàn)快速迭代和彈性擴展。
采用微服務架構改造,引入各種復雜性,如部署工作量的增加、復雜鏈路的監(jiān)控難題,這就是為微服務而微服務,只會得不償失。在實施的過程中不能簡單的使用某些個微服務框架或者組件一蹴而就,而是需要將業(yè)務、技術和運維有機結合起來,配合同步實施,并且在此過程中還需要趟過很多的坑才能夠取得成功。
復雜業(yè)務拆分可能無法一步到位,因為復雜,每個業(yè)務并不一定只能拆成一個組件,龐大的業(yè)務拆分出相對獨立和龐大的業(yè)務,但如果業(yè)務較小而又比較多,且類型相似也可以不用著急拆分。
舉網(wǎng)易考拉的例子,工程數(shù)量由最初的 7 到后來的 150+ 再到目前的 400+,都是根據(jù)實際情況決定的。中間的狀態(tài),可能不是嚴格意義上的微服務架構,但屬于分布式服務架構——不過這不是那么重要,重要的是符合業(yè)務發(fā)展階段的需求。醫(yī)院的急診,既看發(fā)熱又看胃痛,固然分工沒那么精細,但我們也不能說就是錯的。
分布式是什么?
對于分布式架構,我們根據(jù)設計期的架構思想和運行期的不同結構分為:面向服務架構、分布式服務架構、微服務架構。
1.面向服務架構︰以業(yè)務服務的角度和服務總線的方式(一般是WebService與ESB)考慮系統(tǒng)架構和企業(yè)IT治理;
2.分布式服務架構:基于去中心化的分布式服務框架與技術,考慮系統(tǒng)架構和服務治理;
3.微服務架構∶微服務架構可以看做是面向服務架構和分布式服務架構的拓展,使用更細粒度的服務和一組設計準則來考慮大規(guī)模的復雜系統(tǒng)架構設計。
統(tǒng)的企業(yè)集成領域的EAI架構模式,本身還是各個系統(tǒng)獨立部署,但是各系統(tǒng)之間的部分業(yè)務使用特定的技術打通了,因此我們可以看做是單體和分布式之間的過渡狀態(tài)。
分布式服務架構與微服務架構概念的區(qū)別與聯(lián)系
分布式:分散壓力。
微服務:分散能力。
分布式:不同模塊部署在不同服務器上;
作用:分布式解決網(wǎng)站高并發(fā)帶來問題;
集群:相同的服務;
多臺服務器部署相同應用構成一個集群;
作用:通過負載均衡設備共同對外提供服務;
SOA[組裝服務/ESB企業(yè)服務總線];
業(yè)務系統(tǒng)分解為多個組件,讓每個組件都獨立提供離散,自治,可復用的服務能力;
通過服務的組合和編排來實現(xiàn)上層的業(yè)務流程;
作用:簡化維護,降低整體風險,伸縮靈活;
微服務[找到服務/微服務網(wǎng)關open API];
架構設計概念,各服務間隔離(分布式也是隔離),自治(分布式依賴整體組合)其它特性(單一職責,邊界,異步通信,獨立部署)是分布式概念的跟嚴格執(zhí)行;
SOA到微服務架構的演進過程;
作用:各服務可獨立應用,組合服務也可系統(tǒng)應用。
猜你喜歡: