天天看點

微應用是什麼_微服務是什麼

微應用是什麼_微服務是什麼
微應用是什麼_微服務是什麼

你考慮過嗎?什麼是微服務,為什麼越來越多的企業,為了使自己建構的應用滿足客戶的期望,而和微服務架構進行整合呢?

微服務,又叫微服務架構,是一種軟體架構方式。它将應用建構成一系列按業務領域劃分子產品的、小的自治服務。

在微服務架構中,每個服務都是自我包含的,并且實作了單一的業務功能。

微應用是什麼_微服務是什麼

簡單來說,就是将一個系統按業務劃分成多個子系統,每個子系統都是完整的,可獨立運作的,子系統間的互動可通過HTTP協定進行通信(也可以采用消息隊列來通信,如RoocketMQ,Kafaka等)。

是以,不同子系統可以使用不同的程式設計語言實作,使用不同的存儲技術。但是,因為子系統服務數量越多,管理起來越複雜,是以需要采用集中化管理,例如Eureka,Zookeeper等都是比較常見的服務集中化管理架構;同時,使用自動化部署(如Jenkins)減少人為控制,降低出錯機率,提高效率。

微應用是什麼_微服務是什麼

場景--購物車應用

傳統的一體化架構實作:所有的功能都被放到了一個代碼庫中,業務都開展在一個基礎性的資料庫之下,功能包含:品牌管理,商品管理,接收付款、客戶服務等。當需要添加新品牌的詳細資訊時(新增了有别于舊品牌設定的結構),此時開發者不僅需要為這個服務添加新的标簽而修改代碼,而且還要重構整個系統并進行部署。

與之相反的是,微服務架構可以幫助開發者克服使用舊架構時所面臨的挑戰,并且使得這個購物車應用可以很容易地被建構、部署和擴充。因為它為搜尋、推薦、品牌管理、商品管理、客戶服務等業務分别建立不同的微服務,當需求來臨時,它隻需修改并更新對應的微服務即可。

微應用是什麼_微服務是什麼

微服務的特點

● 解耦:同一系統内的服務大部分可以被解耦。是以應用,作為一個整體,可以輕易地被建構、修改和擴充。

● 元件化:微服務可以被看成互相獨立的元件,這些元件可以被輕易地替換和更新。

● 業務能力:微服務很小,它們可以專注于某種單一的能力

● 自治:開發者和團隊可以獨立地工作,提高開發速度。

● 持續傳遞:允許持續釋出軟體新版本,通過系統化的自動手段來建立、測試和準許新版本。

● 職責明确:微服務不把應用看成一個又一個的項目。相反,它們把應用當成了自己需要負責的項目。

● 去中心化管理:關注于使用正确的工具來完成正确的工作。這也就是說,沒有标準化的方式或者技術模式。開發者們有權選擇最好的工具來解決問題。

● 靈活性:微服務支援靈活開發。任何新功能都可以被快速開發或丢棄。

微應用是什麼_微服務是什麼

微服務的優勢

● 獨立開發:基于各個微服務所獨有的功能,它們可以被輕易開發出來。

● 獨立部署:基于它們所提供的服務,它們可以被獨立地部署到應用中。

● 錯誤隔離:即便其中某個服務發生了故障,整個系統還可以繼續工作。

● 混合技術棧:可以使用不同的語言和技術來為同一個應用建構不同的服務。

● 按粒度擴充:可以根據需求擴充某一個元件,不需要将所有元件全部擴充。

微應用是什麼_微服務是什麼

通過上面的内容我們了解到微服務的特點與優勢,以緻于越來越多的企業來使用微服務。

那麼,下一節特别先生将帶領大家認識微服務架構--SpringCloud,我是特别先生,微信關注--特别先生講Java,每天都有Java幹貨分享,不迷路。