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

喬212


題主好,很高興能回答題主的問題。

說到微服務,現在可算是火的一塌糊塗,不管是大廠還是小廠,互聯網公司還是傳統軟件行業,很多都在追逐為服務的熱潮。不過,我認為微服務只是新瓶裝老酒,其本質就是模塊化,這點在問題描述中已經提到了。

那麼接下來我們就來分析一下微服務到底是前端的事還是後臺的事兒,微服務的具體實現是什麼樣子的?

模塊化

前面我們提到了,微服務只是模塊化的延伸。我們在傳統的軟件開發當中,如果涉及到模塊化的話,通常是前端做前端的模塊,後臺做後臺的模塊。而在微服務的思想中,強調的是高內聚低耦合的設計思想,儘可能的使微服務可以達到獨立開發、部署、運行、運維的目標。

由此可見,如果想實現真正的微服務的話,前端後臺缺一不可。否則難以滿足高內聚低耦合的設計目標。

實現

微服務其實是一種架構設計的思想,並不強調微服務的具體實現方式。只是微服務作為一種天然的分佈式架構,又有如此高的設計要求,實現的複雜性自不必說。好在無論Java、Python還是其他的編程語言,都有好心人和大牛提供了相應的實現框架。

因此,題主完全可以不用擔心,Python和vue是可以搞出微服務的。

建議

前文提到微服務是一種設計思想,在各種社區,也能找到各種編程語言對應的微服務實現框架,但是我非常不建議題主在做全棧項目時使用微服務這種設計思想,但是對於框架的學習,建議題主還是要儘可能的掌握。甚至未來參加工作了,依然是這個建議。也就是說不到萬不得已的時候,不要觸碰微服務!


特別行動科


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

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

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


IT人故事會


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

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

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

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

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



分享到:


相關文章: