Spring Cloud簡介

分佈式框架的發展歷程

第一代服務框架

代表:Dubbo(Java)、Orleans(.Net)等
特點:和語言聯繫緊密

第二代服務框架

代表:Spring Cloud
現狀:適合混合式開發(例如藉助Steeltoe OSS可以讓ASP.Net Core與Spring Cloud集成),正值頂峯

第三代服務框架

代表:Service Mesh(服務網格) => 例如Service Fabric、lstio、Linkerd、Conduit等
現狀:在快速發展中,更新迭代比較快

Spring Cloud概述

  首先,儘管Spring Cloud帶有“Cloud”這個單詞,但它並不是雲計算解決方案,而是在Spring Boot基礎之上構建的,用於快速構建分佈式系統的通用模式的工具集。
  其次,使用Spring Cloud開發的應用程序非常適合在Docker和PaaS(比如Pivotal Cloud Foundry)上部署,所以又叫做雲原生應用(Cloud Native Application)。雲原生可以簡單地理解爲面向雲環境的軟件架構。
  Spring Cloud是一個基於Spring Boot實現的雲原生應用開發工具,它爲基於JVM的雲原生應用開發中涉及的配置管理、服務發現、熔斷器、智能路由、微代理、控制總線、分佈式會話和集羣狀態管理等操作提供了一種簡單的開發方式。

Spring Cloud的特點

  • 約定大於配置
  • 適用於各種環境
  • 隱藏了組件的複雜性,並提供了聲明式、無XML的配置
  • 開箱即用,快速啓動
  • 組件豐富,功能齊全

Spring Cloud中的核心子項目

  • Spring Cloud Netflix:核心組件,可以對多個Netflix OSS開源套件進行整合,包括以下幾個組件:
    • Eureka:服務治理組件,包含服務註冊與發現
    • Hystrix:容錯管理組件,實現了熔斷器
    • Ribbon:客戶端負載均衡的服務調用組件
    • Feign:基於Ribbon和Hystrix的聲明式服務調用組件
    • Zuul:網關組件,提供智能路由、訪問過濾等功能
    • Archaius:外部化配置組件
  • Spring Cloud Config:配置管理工具,實現應用配置的外部化存儲,支持客戶端配置信息刷新、加密/解密配置內容等。
  • Spring Cloud Bus:事件、消息總線,用於傳播集羣中的狀態變化或事件,以及觸發後續的處理
  • Spring Cloud Security:基於spring security的安全工具包,爲我們的應用程序添加安全控制
  • Spring Cloud Consul : 封裝了Consul操作,Consul是一個服務發現與配置工具(與Eureka作用類似),與Docker容器可以無縫集成
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章