1 微服務簡介

1 什麼是微服務?

微服務是一種現代化的軟件方法,通過該方法,應用代碼以小巧,易於管理的方式交付,彼此獨立。

微服務爲構建小型,獨立且可運行的應用程序帶來極大的靈活性和彈性。

單體架構

微服務架構

2 爲什麼要建立微服務?

微服務的小規模和相對隔離性可以帶來許多其他好處。

例如更容易維護,提高生產率,更大的容錯能力,更好的業務調整等等。

3 Spring Cloud 微服務

Spring

Spring已成爲構建基於Java的應用程序的事實上的開發框架。

在其核心,Spring是基於依賴注入的概念。

Spring Boot

儘管Spring Boot包含Spring的核心功能,但它剝離了Spring中的許多“企業”功能,而是提供了一個針對基於Java的,面向REST的微服務的框架。

Spring Boot的許多專用功能使在大規模生產中輕鬆構建和運行微服務變得容易。

Spring Cloud 微服務

Spring Cloud可以幫助進行服務發現,負載平衡,斷路,分佈式跟蹤和監視。它甚至可以充當API網關。

沒有Spring Cloud,任何微服務架構都是不完整的。

Spring Cloud 特徵

Spring Cloud專注於爲典型的用例和可擴展性機制提供良好的開箱即用體驗。

  • 分佈式配置
  • 服務註冊和發現
  • 路由
  • 服務到服務的調用
  • 負載均衡
  • 斷路器
  • 全局鎖
  • 領導選舉和集羣狀態
  • 分佈式消息傳遞

Spring Cloud 主要項目

Spring Cloud Config

由git存儲庫支持的集中式外部配置管理。配置資源直接映射到Spring,Environment但如果需要,可以由非Spring應用程序使用。

Spring Cloud Netflix

與各種Netflix OSS組件(Eureka,Hystrix,Ribbon,Zuul等)集成。

Spring Cloud Security

爲Zuul代理中的負載平衡的OAuth2其餘客戶端和身份驗證標頭中繼提供支持。

Spring Cloud Sleuth

Spring Cloud應用程序的分佈式跟蹤,與Zipkin,HTrace和基於日誌(例如ELK)的跟蹤兼容。

Spring Cloud Stream

輕量級的事件驅動型微服務框架,用於快速構建可以連接到外部系統的應用程序。在Spring Boot應用程序之間使用Apache Kafka或RabbitMQ發送和接收消息的簡單聲明性模型。

Spring Cloud 版本

Spring Cloud是一個總括項目,由原則上具有不同發佈節奏的獨立項目組成。爲了管理項目組合,將發佈BOM(物料清單),並帶有對單個項目的精選依賴關係集。發行版本的名稱名稱是按字母順序排列的,帶有倫敦地鐵站的名稱(“ Angel”是第一個發行版,“ Brixton”是第二個發行版)。

Spring Cloud 版本

Spring Boot 版本

Hoxton

2.2.x

Greenwich

2.1.x

Finchley

2.0.x

Edgware

1.5.x

Dalston

1.5.x

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