微服務怎麼實現?是前端還是後端的事?

喬212


微服務只是一個概念,是一種架構設計思想,並不是什麼新技術。原理就是化整為零,把一個軟件應用,拆分為一個個可獨立運行的"微"服務,跟常規意義的插件、擴展之類類似,不同之處在於"微服務"是一個可獨立運行的應用程序,一般採用容器化部署比如Docker之類。以下從優點、缺點以及適用場景三方面來拆解。

  1. 優點,有效解決單體軟件隨著時間的推移的維護災難,可按需加載,最大程度釋放系統資源。跟開發語言無關,採用容器化獨立部署,無論使用什麼開發語言都可無縫集成。可以細粒度拆分軟件項目,完美的持續集成。

  2. 缺點,微服務是一個分佈式系統,如果拆分粒度過細,容易形成連環故障。各模塊之間需要維護數據的一致性,要規劃好通信,對整個系統架構要求比較高。在測試層面來講,相對單體軟件,測試工作量有一定程度的增加。應用部署相對來說比較複雜一點。

  3. 適用場景,業務層面,應對多客戶需求,通常每個客戶總有一部分需求是不一樣的。性能層面,應對高併發、高負載。

總之,軟件互聯網行業知識體系更新比較頻繁,新概念、新技術層出不窮,我們探其本質,不要被表象所迷惑。機械科班出身的IT人共勉。



滔樸未來


1. 微服務其實我理解的就是功能專一化,方便升級擴展。微服務有個分而治之的思想。

2. vue和python進行整合,前後端分離可以通過http進行交互分離,vue通過http請求,python提供服務。這就是前後端分離的雛形。

3. 第三代微服務都是通過容器化的方式進行服務編排。互相的調用。


IT人故事會


對於微服務是怎麼實現的,我的理解是相對單體應用的交付,微服務應用交付要複雜得多,不僅需要開發框架支持,還需要Iaas、Paas或Caas的支持,以及一些自動化部署的工具。

微服務可以用到:服務註冊、發現、負載均衡和健康檢查、前端路由(網關)、容錯、服務框架的選擇,動態配置管理等模塊。這些模塊可以組成一個簡化的微服務 ,利用Spring Boot來實現領域驅動設計概念,並將它們從核心Java轉換為預計Spring框架的模型,依靠服務內的Tomcat或者Jetty,被打包為一個Jar文件或者War文件,這個Jar作為單獨的進程執行,為所有請求提供服務和響應,並指向此服務中定義的斷點的一個微服務。

在前端,一般情況下基本不會用到微服務,所以對於前端來說沒有什麼關係,主要還是後端的事。目前主流為前後端奮力,這樣一套後端服務就可以支持多個項目。這種情況下,前端項目一般是獨立部署的,通過接口調用後端服務即可,後端服務也可以根據自己的情況進行微服務拆分。

數通暢聯專注於企業IT架構、SOA綜合集成、數據治理分析領域,感謝您的閱讀與關注。


分享到:


相關文章: