Spring Cloud簡(jiǎn)介


簡(jiǎn)介

Spring Cloud為開(kāi)發(fā)者們提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如:配置管理、服務(wù)發(fā)現(xiàn)、斷路器、智能路由、微代理、控制總線(xiàn)、一次性token、全局鎖、決策者競(jìng)選、分布式會(huì)話(huà)、集群狀態(tài)等等)。分布式系統(tǒng)的協(xié)作產(chǎn)生了諸多標(biāo)準(zhǔn)模式,在Spring Cloud的幫助下,開(kāi)發(fā)者能夠快速地構(gòu)建起實(shí)現(xiàn)了這些模式的服務(wù)與應(yīng)用。它們?cè)谌魏畏植际江h(huán)境中都能運(yùn)行良好,包括在開(kāi)發(fā)者自己的筆記本電腦、裸機(jī)數(shù)據(jù)中心以及像Cloud Foundry這樣的托管平臺(tái)。

Spring Cloud

特性

Spring Cloud專(zhuān)注于為典型用例和可擴(kuò)展機(jī)制提供良好的開(kāi)箱即用體驗(yàn)。

  • 分布式/版本化配置
  • 服務(wù)注冊(cè)與發(fā)現(xiàn)
  • 路由
  • Service-to-service調(diào)用
  • 負(fù)載均衡
  • 斷路器
  • 全局鎖
  • 決策者競(jìng)選與集群狀態(tài)
  • 分布式消息傳遞

主要項(xiàng)目

Spring Cloud Config

由Git倉(cāng)庫(kù)支持的集中式外部配置管理。配置資源直接映射到Spring環(huán)境中,如果有需要,也可以在非Spring應(yīng)用中使用。

Spring Cloud Netflix

核心組件,對(duì)多個(gè)Netflix公司的OSS開(kāi)源組件進(jìn)行整合(Eureka, Hystrix, Zuul, Archaius等等)

  • Eureka

服務(wù)治理組件,包含服務(wù)注冊(cè)中心、服務(wù)注冊(cè)與發(fā)現(xiàn)機(jī)制的整合。

  • Hystrix

容錯(cuò)管理組件,實(shí)現(xiàn)斷路器模式,幫助服務(wù)依賴(lài)中出現(xiàn)的延遲和故障提供強(qiáng)大的容錯(cuò)能力。

  • Ribbon

客戶(hù)端負(fù)載均衡的服務(wù)調(diào)用組件。

  • Feign

基于Ribbon和Hystrix的聲明式服務(wù)調(diào)用組件。

  • Zuul

網(wǎng)關(guān)組件,提供智能路由、訪(fǎng)問(wèn)過(guò)濾等功能。

  • Archaius

外部化配置組件。

Spring Cloud Bus

使用分布式消息傳遞將服務(wù)與服務(wù)實(shí)例連接在一起的事件總線(xiàn)。對(duì)于在集群上傳播狀態(tài)的更改十分有用(例如:配置更改事件)

Spring Cloud for Cloud Foundry

使用Pivotal Cloudfoundry整合你的應(yīng)用。提供了服務(wù)發(fā)現(xiàn)的實(shí)現(xiàn)并且使其很容易實(shí)現(xiàn)SSO和OAuth2 保護(hù)資源,以及創(chuàng)建一個(gè)Cloudfoundry服務(wù)代理。

Spring Cloud Cloud Foundry Service Broker

提供一個(gè)構(gòu)建服務(wù)代理的起點(diǎn),該服務(wù)代理管理一個(gè)Cloud Foundry管理的服務(wù)。

Spring Cloud Cluster

為Zookeeper, Redis, Hazelcast, Consul實(shí)現(xiàn)了決策者競(jìng)選以及通用狀態(tài)模式的抽象及其具體實(shí)施。

Spring Cloud Consul

使用Hashicorp Consul實(shí)現(xiàn)的服務(wù)發(fā)現(xiàn)與配置管理。

Spring Cloud Security

在Zuul代理中提供對(duì)實(shí)現(xiàn)負(fù)載均衡的OAuth2 Rest客戶(hù)端以及認(rèn)證頭繼電器的支持。

Spring Cloud Sleuth

分布式Spring Cloud應(yīng)用跟蹤,與Zipkin, HTrace以及基于日志跟蹤相兼容。

Spring Cloud Data Flow

一個(gè)原生云業(yè)務(wù)流程服務(wù)用于在現(xiàn)代運(yùn)行時(shí)系統(tǒng)組成微服務(wù)應(yīng)用。易于使用的DSL、拖放式的界面以及Restful風(fēng)格的APIs簡(jiǎn)化了整個(gè)基于數(shù)據(jù)管道的微服務(wù)的業(yè)務(wù)流程。

Spring Cloud Stream

一個(gè)輕量級(jí)事件驅(qū)動(dòng)型的微服務(wù)框架,用于快速地構(gòu)建能連接外部系統(tǒng)的應(yīng)用。使用Apache Kafka或RabbitMQ,其簡(jiǎn)單的聲明式模型用于在Spring Boot應(yīng)用中發(fā)送和接收消息。

Spring Cloud Stream App Starters

Spring Cloud Stream App Starters是基于Spring Integration的Spring Boot應(yīng)用,提供了與外部系統(tǒng)的整合功能。

Spring Cloud Task

一個(gè)短暫的微服務(wù)框架,提供了快速構(gòu)建處理有限數(shù)量的數(shù)據(jù)處理的應(yīng)用。簡(jiǎn)單的聲明就能為Spring Boot應(yīng)用添加功能的和非功能的特性。

Spring Cloud Task App Starters

Spring Cloud Task App Starters是Spring Boot 應(yīng)用程序,可能是包括Spring批處理作業(yè)在內(nèi)的任何進(jìn)程,它們不會(huì)永遠(yuǎn)運(yùn)行,并且在有限的數(shù)據(jù)處理期后結(jié)束/停止。

Spring Cloud Zookeeper

使用Apache Zookeeper實(shí)現(xiàn)了服務(wù)發(fā)現(xiàn)與配置管理。

Spring Cloud for Amazon Web Services

易于集成托管于亞馬遜的Web服務(wù)。它提供了一種便捷的方式與AWS進(jìn)行交互,使用著名的Spring idioms 和APIs提供了服務(wù),例如消息傳遞或緩存API。開(kāi)發(fā)者能夠在托管服務(wù)上構(gòu)建應(yīng)用,而不必關(guān)心基礎(chǔ)設(shè)施或維護(hù)。

Spring Cloud Connectors

便于在各種平臺(tái)上的PaaS應(yīng)用連接后端服務(wù)像數(shù)據(jù)庫(kù)和消息代理(該項(xiàng)目原名為Spring Cloud)

Spring Cloud CLI

Spring Boot CLI插件,用于快速在Groovy中創(chuàng)建Spring Cloud組件應(yīng)用。

Spring Cloud Contract

Spring Cloud Contract是一攬子項(xiàng)目,包含一系列用于幫助用戶(hù)成功實(shí)施消費(fèi)驅(qū)動(dòng)合同的方案的解決方法。


參考文獻(xiàn)


  1. Spring Cloud[EB/OL]. http://projects.spring.io/spring-cloud/.
  2. 翟永超. Spring Cloud微服務(wù)實(shí)戰(zhàn)[M]. 北京:電子工業(yè)出版社, 2017. 7-8
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,578評(píng)論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,275評(píng)論 6 342
  • 軟件是有生命的,你做出來(lái)的架構(gòu)決定了這個(gè)軟件它這一生是坎坷還是幸福。 本文不是講解如何使用Spring Cloud...
    Bobby0322閱讀 22,991評(píng)論 3 166
  • 最近重新梳理spring Cloud技術(shù),從源碼層次的角度來(lái)理解spring Cloud這門(mén)技術(shù) 單體架構(gòu) 一個(gè)歸...
    二月_春風(fēng)閱讀 10,307評(píng)論 4 6
  • 如果在開(kāi)發(fā)過(guò)程中,想把自己封裝的一些控件、分類(lèi)打包以pod的形式供自己或團(tuán)隊(duì)使用,我們可以建立公有pod或者私有p...
    雪_晟閱讀 360評(píng)論 0 0

友情鏈接更多精彩內(nèi)容