前言

微服務(wù)并不神秘,只是在互聯(lián)網(wǎng)技術(shù)發(fā)展過程中的一個產(chǎn)物,整個架構(gòu)系統(tǒng)隨著客戶端的多樣性,服務(wù)越來越多,devops的發(fā)展而產(chǎn)生的架構(gòu)變種。

許多公司,通過采用微處理結(jié)構(gòu)模式解決單體應(yīng)用的問題,分解的服務(wù)之間互相連接提供支持。

每個微服務(wù)都是六邊形應(yīng)用,都有自己的業(yè)務(wù)邏輯和適配器。服務(wù)之間通過API互相通信,提供接口供客戶端使用。每個實例可能是一個云VM或者是Docker容器。

之前的web應(yīng)用拆分成一系列簡單的服務(wù)應(yīng)用。拆分之后可以對不同用戶,不同設(shè)備,不同場景進行自行部署。

微服務(wù)之間通過REST API或者MQ異步方式通信,供外網(wǎng)使用的API,通過Gateway來傳遞信息。

微服務(wù)的拆分,不像傳統(tǒng)多個服務(wù)共享一個數(shù)據(jù)庫,微服務(wù)架構(gòu)每個服務(wù)都有自己的數(shù)據(jù)庫,每種服務(wù)都可以有自己適合的數(shù)據(jù)庫類型。

微服務(wù)好處

  1. 分解了單體應(yīng)用提供多個服務(wù)的復(fù)雜性問題,拆分之后每個服務(wù)都有一個用RPC或是MQ或是API定義的邊界。由于傳統(tǒng)單體應(yīng)用沒有清晰的邊界,存在開發(fā),理解,維護,部署的復(fù)雜問題;

  2. 每個服務(wù)都可以有單獨的團隊維護開發(fā),開發(fā)者客戶選擇自己擅長和合適的技術(shù);

  3. 每個服務(wù)都可以獨立部署,開發(fā)者不需要協(xié)調(diào)因其他服務(wù)調(diào)用,部署對本服務(wù)的影響。加快部署速度,更好的執(zhí)行AB測試。持續(xù)部署變?yōu)榭赡堋?/p>

  4. 每個服務(wù)都可以獨立擴展。

微服務(wù)不足

    延伸閱讀

    學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式