Spring Cloud 實踐(一):Spring Cloud 介紹

概述

當下互聯網最熱的架構模式可能就是微服務架構了吧,關於微服務的概念和介紹能夠參照大神 Martin Flower 的文章 Microservices ,國內翻譯版本 http://www.cnblogs.com/liuning8023/p/4493156.html 。而 Spring Cloud 則是伴隨着微服務概念誕生的飛速發展的開源框架。html

Spring Cloud 介紹

Spring Cloud 是一個依賴於 Spring Boot 快速構建分佈式系統的通用模型的雲應用開發工具(例如配置管理,服務發現,斷路器,智能路由,微代理,控制總線),它是由一些列框架組成的集合框架。web

Spring Cloud 特性

Spring Cloud專一於提供良好的開箱即用經驗的典型用例和可擴展性機制覆蓋。spring

  • 分佈式/版本化配置
  • 服務註冊和發現
  • 路由
  • service - to - service調用
  • 負載均衡
  • 斷路器
  • 分佈式消息傳遞

Spring Cloud 主要組成成員

Spring Cloud 是由衆多子項目組成的集合框架,主要項目包括:數據庫

Spring Cloud Config

配置中心,爲分佈式系統中的外部配置提供服務器和客戶端支持。服務端用於鏈接遠程配置倉庫和供客戶端獲取配置信息;客戶端則是微服務中的各個應用。它實現了客戶端和服務端上Spring EnvironmentPropertySource的抽象映射。Spring Cloud Config 默認採用 Git 來存儲服務端的配置信息,另外也提供了本地存儲和 Subversion 的方式。後端

Spring Cloud Netflix

與 Netflix OSS集成,提供的模式包括服務發現(Eureka),斷路器(Hystrix),智能路由(Zuul)和客戶端負載平衡(Ribbon)。緩存

服務發現:Eureka服務器

一個基於 REST 的服務中心,實現微服務的註冊與發現,包括 server 和 client 兩部分。架構

  • Eureka Server:供各 Client 註冊本身;
  • Eureka Client :提供服務的客戶端;

斷路器:Hystrixapp

經過斷路器能夠控制服務和第三方庫的節點,從而對延遲和故障提供更強大的容錯能力。負載均衡

智能路由:Zuul

爲微服務架構提供了前門保護的做用,同時將權限控制這些較重的非業務邏輯內容遷移到服務路由層面,使得服務集羣主體可以具有更高的可複用性和可測試性。

客戶端負載平衡:Ribbon

Ribbon是一個客戶端負載均衡器,它能夠很好地控制HTTP和TCP客戶端的行爲。

Spring Cloud Bus

Spring Cloud Bus 將分佈式系統的節點與輕量級消息代理連接。這能夠用於廣播狀態更改(例如配置更改)或其餘管理指令。

Spring Cloud Stream

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

spring cloud stream app starters

Spring Cloud任務應用程序啓動器是Spring Boot應用程序,多是任何進程,包括不會永遠運行的Spring Batch做業,而且它們在有限時間的數據處理以後結束/中止。

Spring Cloud for Cloud Foundry

將您的應用程序與Pivotal Cloudfoundry集成。提供服務發現實現,還能夠輕鬆實現經過SSO和OAuth2保護資源,還能夠建立Cloudfoundry服務代理。

spring cloud cluster

提供在分佈式系統中的集羣所須要的基礎功能支持。

Spring Cloud Consul

Consul 是一個支持多數據中心分佈式高可用的服務發現和配置共享的服務軟件。

spring cloud security

在Zuul代理中爲負載平衡的OAuth2休眠客戶端和認證頭中繼提供支持。

spring cloud sleuth

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

spring cloud data flow

針對現代運行時的可組合微服務應用程序的雲本地編排服務。易於使用的DSL,拖放式GUI和REST-API一塊兒簡化了基於微服務的數據管道的總體編排。

spring cloud zookeeper

Zookeeper的服務發現和配置管理。

spring cloud for amazon web services

輕鬆集成託管的Amazon的Web Services服務。它經過使用spring的idioms和APIs便捷集成AWS服務,例如緩存或消息API。開發人員能夠圍繞託管服務,沒必要關心基礎架構來構建應用。

spring cloud connectors

使PaaS應用程序在各類平臺上輕鬆鏈接到後端服務,如數據庫和消息代理(之前稱爲「Spring Cloud」的項目)。

spring cloud starters

Spring Boot式的啓動項目,爲Spring Cloud提供開箱即用的依賴管理。

Spring Cloud CLI

基於 Spring Boot CLI,可讓你以命令行方式快速創建雲組件。

參考文獻

                                        

相關文章
相關標籤/搜索