SpringCloud之微服務

1、微服務定義

通常而言,微服務是一種架構模式,或者說是一種架構風格,提倡將單一的應用程序劃分成一組小的服務,每個服務運行在其獨立的自己的進程中,服務之間相互協調,相互配合,爲用戶提供最終價值。服務之間採用輕量級的通信機制相互溝通(通常是基於HTTP的Restful API).每個服務都圍繞着具體的業務進行構建,並且能夠被獨立的部署到生產環境、類生產環境等。另外,儘量避免統一的、集中式的服務管理機制,對具體的一個服務而言,應根據業務上下文,選擇合適的語言,工具對其進行構建,可以有一個非常輕量級的集中式管理來協調這些服務,可以使用不同的語言來編寫服務,也可以使用不同的數據存儲。

技術維度理解:
微服務化的核心就是將傳統的一站式應用,根據業務拆分成一個一個的服務,徹底的去解耦,每一個微服務提供單個業務功能的服務,一個服務做一件事,從技術角度看就是一種小而獨立的處理過程,類似進程概念,能夠自行獨立啓動或銷燬,擁有自己獨立的數據庫。

2、微服務優缺點

1)優點

每個服務足夠內聚,足夠小,代碼容易理解,這樣能聚焦一個指定的業務功能或業務需求,開發簡單,開發效率提高,一個服務可能是專一的只幹一件事。
微服務能夠被小團隊單獨開發,
微服務是松耦合的,是有功能意義的服務,無論是在開發階段或部署階段都是獨立的
微服務能使用不同的開發語言
易於和第三方集成,微服務允許容易且靈活的方式集成自動化部署,通過持續集成工具,如Jenkins,
微服務易於被一個開發人員理解,修改和維護,這樣小團隊能夠更關注自己的工作成果,無需通過合作才能體現價值,
微服務允許你利用融合最新技術

微服務只是業務邏輯的代碼,不會和HTML和CSS或其他界面組件混合,
每個微服務都有自己的存儲能力,可以有自己的數據庫,也可以有統一數據庫。

4)缺點

開發人員要處理分佈式系統的複雜性
多服務運維難度,隨着服務增加,運維的壓力也在增大
系統部署依賴
服務間通信成本
數據一致性
系統集成測試
性能監控

微服務技術棧

服務治理
服務註冊
服務調用
服務負載均衡
服務監控

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章