基於Spring Cloud微服務架構

1. 微服務簡介

1.1 什麼是微服務架構

  • 微服務架構是系統架構上的一種設計風格
  • 將大系統拆分紅N個小型服務
  • 這些小型服務都在各自的線程中運行
  • 小服務間經過HTTP協議進行通訊
  • 有本身的數據存儲、業務開發、自動化測試和獨立部署機制
  • 能夠由不一樣語言編寫

小結:微服務架構的思想,不僅是停留在開發階段,它貫穿了設計,研發,測試,發佈,運維等各個軟件生命週期。git

2. 架構體系

在這裏插入圖片描述
架構樣例:
在這裏插入圖片描述github

2.1 微服務發佈--持續集成

在這裏插入圖片描述

3. 微服務架構九大特性

  1. 服務組件化
    -- 組件是可獨立更換、升級的單元。就像PC中的內存,CPU同樣。
  2. 按業務組織團隊
    -- 要求人員全棧技能
  3. 作「產品」的態度
    -- 對整個產品生命週期負責,而不是作「項目」交付態度
  4. 智能端點與啞管道
    -- 微服務間的通信方式:
    --- HTTP的RESTful API
    --- MessageMQ消息隊列
    1. 去中心化治理
      --不是每個問題都是釘子,不是每個解決方案都是錘子。
    2. 去中心化數據管理
      --獨立維護各服務數據存儲,儘可能使服務間「無事物」調用,經過補償機制維護數據一致性問題
    3. 基礎設施自動化
      -- 自動化測試
      -- 自動化部署
    4. 容錯設計
      -- 每一個服務實現監控和日誌組件,好比服務狀態,斷路器狀態,吞吐量,網絡數據等關鍵數據儀表盤
    5. 演進式設計
      --初期單體,逐步拆分,抽取公共組件

4. 微服務選型

  • Dubbo 是阿里多年構建生產級分佈式微服務的技術結晶,服務治理能力很是豐富,在國內技術社區具備很大影響力,目前 github 上有超過 16k 星。Dubbo 本質上是一套基於 Java 的 RPC 框架,噹噹 Dubbox 擴展了 Dubbo 支持 RESTful 接口暴露能力。spring

  • Dubbo 主要面向 Java 技術棧,跨語言支持不足是它的一個弱項,另外由於治理能力太豐富,以致於這個框架比較重,徹底用好這個框架的門檻比較高,可是若是你的企業基本上投資在 Java 技術棧上,選 Dubbo 可讓你在服務框架一塊站在較高的起點上,無論是性能仍是企業級的服務治理能力,Dubbo 都作的很出色。網絡

  • 新浪微博開源的 Motan(GitHub 4k stars)也不錯,功能和 Dubbo 相似,能夠認爲是一個輕量裁剪版的 Dubbo。
    在這裏插入圖片描述

5. Spring Cloud 介紹

  • Spring Cloud技術棧提供了分佈式系統和微服務中所須要的約大多數公共模塊和功能架構

  • Spring Cloud的出現,能夠說是對微服務架構巨大的支持和強有力的後盾框架

  • 使用Spring Cloud就像直接購買品牌機同樣,在Spring 社區的整合下,作了大量的兼容性測試,擁有更好的穩定性。

在這裏插入圖片描述

6. Spring Cloud 版本管理

http://projects.spring.io/spring-cloud/運維

在這裏插入圖片描述
在這裏插入圖片描述

相關文章
相關標籤/搜索