關於Spring Cloud 去年開始逐漸多的出如今個人視線中,隨着微服務這個詞愈來愈熱,咱們或多或少的都據說過這個詞,咱們能夠將Spring Cloud 看作是java 中Spring 爲咱們提供的微服務的腳手架, 這篇文章主要記錄這段時間內學習Spring Cloud的一些我的認爲不錯的資料,後期會不按期更新學習資料, 若是能對你有用就更好了。>_<html
讓咱們帶着一個問題出發,若是一艘火箭的運載能力是10噸,咱們要運載20噸的物品,咱們應該怎麼作?java
一般:git
1.物品可拆分,分兩次運
2.物品不可拆分,捆綁式火箭程序員
在現實項目中咱們也許會遇到過一個網站可以承載的用戶訪問量達到瓶頸的問題,咱們一般有3種作法:github
1、硬件升級:1升級服務器的配置,2增長服務器數量,
2、軟件升級:3拆分業務模塊經過RPC或http進行鏈接互通(業務代碼重構等),
3、軟硬件同時升級spring
微服務即是由3引導而出的概念(模塊化,微服務),能夠理解爲經過將多個火箭捆綁在一塊兒達到較大的運載能力。segmentfault
題外話:Spring Cloud 爲咱們提供了火箭的捆綁方式的現成解決方案,在後面會有說起它爲咱們提供了那些功能。安全
關於微服務的介紹及應用場景:
始祖Martin Fowler的《Microservices》
解析微服務架構(一):什麼是微服務
微服務實戰(一):微服務架構的優點與不足
基於微服務的軟件架構模式 推薦>_<服務器
我對於微服務的理解:
模塊與粒度相比與傳統的單體應用更小,模塊之間的耦合性更低,可以具備更好的橫向擴展能力
微服務的好處與不足:
高內聚低耦合(不過對開發者要求相比與開發單體應用要更高些),
彈性(具有更好擴展性,不過模塊之間的拆分與鏈接須要對業務有較深的理解,好在Spring Cloud 爲咱們提供了模塊之間鏈接互通的解決方案)
容錯性(增長了部署運維的學習成本)架構
題外話 微服務是對咱們以前作的模塊化應用的進一步升級>_<
Spring Cloud 爲開發者提供了在分佈式系統(如配置管理、服務發現、斷路器、智能路由、微代理、控制總線、一次性 Token、全局鎖、決策競選、分佈式會話和集羣狀態)操做的開發工具。最關鍵的是它足夠簡單,通常的開發人員只須要幾天時間就能夠學會它的基本用法。在學習spring cloud 以前須要對spring boot 有一些瞭解 這裏有一篇Spring Boot 學習資料收集
Spring Cloud Config:配置管理開發工具包,可讓你把配置放到遠程服務器,目前支持本地存儲、Git以及Subversion。
Spring Cloud Bus:事件、消息總線,用於在集羣(例如,配置變化事件)中傳播狀態變化,可與Spring Cloud Config聯合實現熱部署。
Spring Cloud Netflix:針對多種Netflix組件提供的開發工具包,其中包括Eureka、Hystrix、Zuul、Archaius等。
Netflix Eureka:雲端負載均衡,一個基於 REST 的服務,用於定位服務,以實現雲端的負載均衡和中間層服務器的故障轉移。
Netflix Hystrix:容錯管理工具,旨在經過控制服務和第三方庫的節點,從而對延遲和故障提供更強大的容錯能力。
Netflix Zuul:邊緣服務工具,是提供動態路由,監控,彈性,安全等的邊緣服務。
Netflix Archaius:配置管理API,包含一系列配置管理API,提供動態類型化屬性、線程安全配置操做、輪詢框架、回調機制等功能。
Spring Cloud for Cloud Foundry:經過Oauth2協議綁定服務到CloudFoundry,CloudFoundry是VMware推出的開源PaaS雲平臺。
Spring Cloud Sleuth:日誌收集工具包,封裝了Dapper,Zipkin和HTrace操做。
Spring Cloud Data Flow:大數據操做工具,經過命令行方式操做數據流。
Spring Cloud Security:安全工具包,爲你的應用程序添加安全控制,主要是指OAuth2。
Spring Cloud Consul:封裝了Consul操做,consul是一個服務發現與配置工具,與Docker容器能夠無縫集成。
Spring Cloud Zookeeper:操做Zookeeper的工具包,用於使用zookeeper方式的服務註冊和發現。
Spring Cloud Stream:數據流操做開發包,封裝了與Redis,Rabbit、Kafka等發送接收消息。
Spring Cloud CLI:基於 Spring Boot CLI,可讓你以命令行方式快速創建雲組件。
Spring Cloud官方文檔 Dalston.SR1
Spring Cloud Dalston中文文檔
史上最簡單的 SpringCloud 教程 | 終章
liaokailin的專欄
Spring Cloud中文網-官方文檔中文版
7天學會spring cloud教程
Spring cloud項目實踐
程序員D 翟永超 Spring Cloud 系列文章 推薦
oschina 翟永超 SpringCloud-Learning 示例
史上最簡單的 Spring Cloud 教程
推薦幾個Spring Cloud學習資料
Spring Cloud教程合集 推薦
零零碎碎:
SpringCloud分佈式開發五大神獸