最近公司正在搭建微服務框架,處於小白的我,趕忙借書,上網,實操的學習了一下,下面是一些本身的入門的總結:spring
目錄:session
1、怎麼理解Spring Cloud?架構
1、Spring Cloud 的優點在哪?app
1、怎麼理解Spring Cloud?負載均衡
這是官方文檔的定義:框架
Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems (e.g. configuration management, service discovery, circuit breakers, intelligent routing, micro-proxy, control bus, one-time tokens, global locks, leadership election, distributed sessions, cluster state). Coordination of distributed systems leads to boiler plate patterns, and using Spring Cloud developers can quickly stand up services and applications that implement those patterns. They will work well in any distributed environment, including the developer's own laptop, bare metal data centres, and managed platforms such as Cloud Foundry.分佈式
大概意思是:ide
Spring Cloud爲開發人員提供了快速構建分佈式系統中的一些通用模式(例如配置管理,服務發現,斷路器,智能路由,微代理,控制總線,一次性令牌,全局鎖,領導選舉,分佈式 會話,羣集狀態)。 分佈式系統的協調致使了鍋爐板模式,而且使用Spring Cloud開發人員能夠快速地站起來實現這些模式的服務和應用程序,可擴展機制提供良好的開箱體驗。 它們能夠在任何分佈式環境中正常工做,包括開發人員本身的筆記本電腦,裸機數據中心和受管平臺,如Cloud Foundry。微服務
主要特徵:工具
分佈式/版本化配置:Spring Cloud config
服務註冊和發現:Eureka Server
路由:Zuul
服務對服務呼叫
負載均衡:Ribbon
斷路器:Hystrix
全局鎖定
領導選舉和集羣狀態
分佈式消息
官方文檔:http://projects.spring.io/spring-cloud/#quick-start
可是爲了更好的理解,就簡單的再說一下,Spring Cloud究竟是什麼?
Spring Cloud是一個基於Spring Boot實現的雲應用開發工具,它爲基於JVM的雲應用開發中的配置管理、服務發現、斷路器、智能路由、微代理、控制總線、全局鎖、決策競選、分佈式會話和集羣狀態管理等操做提供了一種簡單的開發方式。
相對來講,微服務是能夠獨立部署、水平擴展、獨立訪問的服務單元。Spring cloud就是一個管家,採用微服務這種架構以後,項目的數量即便會增長不少,因此就提供了不少可用的組件。
主要的組件有:Spring Cloud Config、Spring Cloud Netflix(Eureka、Hystrix、Zuul、Archaius...)、Spring Cloud Bus、Spring Cloud for Cloud Foundry、Spring Cloud Cluster、Spring Cloud Consul、Spring Cloud Security、Spring Cloud Sleuth、Spring Cloud Data Flow、Spring Cloud Stream、Spring Cloud Task、Spring Cloud Zookeeper、Spring Cloud Connectors、Spring Cloud Starters、Spring Cloud CLI,每一個組件身懷獨門絕技武功高強下面來作一一介紹。
微服務的框架那麼多好比:dubbo、Kubernetes,爲何就要使用Spring Cloud的呢?
Spring Cloud 也有一個缺點,只能使用Java開發,不適合小型獨立的項目。