您好,登錄后才能下訂單哦!
這篇文章主要講解了“SpringCloud怎么實(shí)現(xiàn)客戶端負(fù)載均衡”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“SpringCloud怎么實(shí)現(xiàn)客戶端負(fù)載均衡”吧!
一、Spring Cloud是什么
Spring Cloud是一個(gè)微服務(wù)框架,相比Dubbo等RPC框架,Spring Cloud提供的全套的分布式系統(tǒng)解決方案。
Spring Cloud對(duì)微服務(wù)基礎(chǔ)框架Netflix的多個(gè)開源組件進(jìn)行了封裝,同時(shí)又實(shí)現(xiàn)了和云端平臺(tái)以及和Spring Boot開發(fā)框架的集成。
Spring Cloud為微服務(wù)架構(gòu)開發(fā)涉及的配置管理,服務(wù)治理,熔斷機(jī)制,智能路由,微代理,控制總線,一次性token,全局一致性鎖,leader選舉,分布式session,集群狀態(tài)管理等操作提供了一種簡(jiǎn)單的開發(fā)方式。 Spring Cloud 為開發(fā)者提供了快速構(gòu)建分布式系統(tǒng)的工具,開發(fā)者可以快速的啟動(dòng)服務(wù)或構(gòu)建應(yīng)用、同時(shí)能夠快速和云平臺(tái)資源進(jìn)行對(duì)接。
二、SpringCloud架構(gòu)
Spring Cloud是一系列框架的有序集合。它利用 Spring Boot 的開發(fā)便利性巧妙地簡(jiǎn)化了分布式系統(tǒng)基礎(chǔ)設(shè)施的開發(fā),如 服務(wù)發(fā)現(xiàn)注冊(cè)、配置中心、消息總線、負(fù)載均衡、斷路器、數(shù)據(jù)監(jiān)控 等,都可以用Spring Boot的開發(fā)風(fēng)格做到一鍵啟動(dòng)和部署。Spring并沒有重復(fù)制造輪子,它只是將目前各家公司開發(fā)的比較成熟、經(jīng)得起實(shí)際考驗(yàn)的服務(wù)框架組合起來(lái),通過Spring Boot風(fēng)格進(jìn)行再封裝屏蔽掉了復(fù)雜的配置和實(shí)現(xiàn)原理,最終給開發(fā)者留出了一套簡(jiǎn)單易懂、易部署和易維護(hù)的分布式系統(tǒng)開發(fā)工具包。 Spring Cloud正是對(duì)Netflix的多個(gè)開源組件進(jìn)一步的封裝而成 ,同時(shí)又實(shí)現(xiàn)了和云端平臺(tái),和Spring Boot開發(fā)框架很好的集成。 Spring Cloud是一個(gè)相對(duì)比較新的微服務(wù)框架, 2016年才推出1.0的release版本 . 雖然Spring Cloud時(shí)間最短, 但是相比Dubbo等RPC框架, Spring Cloud提供的全套的分布式系統(tǒng)解決方案 。 Spring Cloud 為開發(fā)者提供了在分布式系統(tǒng)( 配置管理,服務(wù)發(fā)現(xiàn),熔斷,路由,微代理,控制總線,一次性token,全居瑣,leader選舉,分布式session,集群狀態(tài) )中快速構(gòu)建的工具,使用Spring Cloud的開發(fā)者可以快速的啟動(dòng)服務(wù)或構(gòu)建應(yīng)用、同時(shí)能夠快速和云平臺(tái)資源進(jìn)行對(duì)接。
三、 Spring Cloud組成
Spring Cloud的子項(xiàng)目,大致可分成兩類,一類是對(duì)現(xiàn)有成熟框架”Spring Boot化”的封裝和抽象,也是數(shù)量最多的項(xiàng)目;第二類是開發(fā)了一部分分布式系統(tǒng)的基礎(chǔ)設(shè)施的實(shí)現(xiàn),如 Spring Cloud Stream扮演的就是kafka, ActiveMQ這樣的角色 。對(duì)于我們想快速實(shí)踐微服務(wù)的開發(fā)者來(lái)說(shuō),第一類子項(xiàng)目就已經(jīng)足夠使用,如: Spring Cloud Netflix ,是對(duì)Netflix開發(fā)的一套分布式服務(wù)框架的封裝,包括服務(wù)的發(fā)現(xiàn)和注冊(cè),負(fù)載均衡、斷路器、REST客戶端、請(qǐng)求路由等。該項(xiàng)目是Spring Cloud的子項(xiàng)目之一,主要內(nèi)容是對(duì)Netflix公司一系列開源產(chǎn)品的包裝,它為Spring Boot應(yīng)用提供了自配置的Netflix OSS整合。 通過一些簡(jiǎn)單的注解,開發(fā)者就可以快速的在應(yīng)用中配置一下常用模塊并構(gòu)建龐大的分布式系統(tǒng)。它主要提供的模塊包括:服務(wù)發(fā)現(xiàn)(Eureka),斷路器(Hystrix),智能路由(Zuul),客戶端負(fù)載均衡(Ribbon)等。
Spring Cloud Netflix這可是個(gè)大boss,地位僅次于老大,老大各項(xiàng)服務(wù)依賴與它,與各種Netflix OSS組件集成,組成微服務(wù)的核心,它的小弟主要有Eureka, Hystrix, Zuul, Archaius... 太多了
(一)、 Spring Cloud Eureka 服務(wù)發(fā)現(xiàn)
1 、 netflix-eureka
2、 Spring Cloud Eureka服務(wù)發(fā)現(xiàn)
3、Eureka
服務(wù)中心,云端服務(wù)發(fā)現(xiàn), 一個(gè)基于 REST 的服務(wù),用于定位服務(wù) ,以實(shí)現(xiàn)云端中間層服務(wù)發(fā)現(xiàn)和故障轉(zhuǎn)移。 這個(gè)可是SpringCloud最牛鼻的小弟,服務(wù)中心 ,任何小弟需要其它小弟支持什么都需要從這里來(lái)拿,同樣的你有什么獨(dú)門武功的都趕緊過報(bào)道,方便以后其它小弟來(lái)調(diào)用;它的好處是你不需要直接找各種什么小弟支持,只需要到服務(wù)中心來(lái)領(lǐng)取,也不需要知道提供支持的其它小弟在哪里,還是幾個(gè)小弟來(lái)支持的,反正拿來(lái)用就行,服務(wù)中心來(lái)保證穩(wěn)定性和質(zhì)量。 Spring Cloud Eureka 提供在分布式環(huán)境下的服務(wù)發(fā)現(xiàn),服務(wù)注冊(cè)的功能。 一個(gè)RESTful服務(wù),用來(lái)定位運(yùn)行在AWS地區(qū)(Region)中的中間層服務(wù)。由兩個(gè)組件組成: Eureka服務(wù)器和Eureka客戶端 。Eureka服務(wù)器用作服務(wù)注冊(cè)服務(wù)器。Eureka客戶端是一個(gè)java客戶端,用來(lái)簡(jiǎn)化與服務(wù)器的交互、作為輪詢負(fù)載均衡器,并提供服務(wù)的故障切換支持。Netflix在其生產(chǎn)環(huán)境中使用的是另外的客戶端,它提供基于流量、資源利用率以及出錯(cuò)狀態(tài)的加權(quán)負(fù)載均衡。
(二)、 Spring Cloud Ribbon 客戶端負(fù)載均衡
1、netflix-ribbon
2、Spring Cloud Ribbon
Ribbon,主要提供客戶側(cè)的軟件負(fù)載均衡算法。 Ribbon客戶端組件提供一系列完善的配置選項(xiàng),比如連接超時(shí)、重試、重試算法等。Ribbon內(nèi)置可插拔、可定制的負(fù)載均衡組件。下面是用到的一些 負(fù)載均衡策略 :
簡(jiǎn)單輪詢負(fù)載均衡 加權(quán)響應(yīng)時(shí)間負(fù)載均衡 區(qū)域感知輪詢負(fù)載均衡 隨機(jī)負(fù)載均衡
Ribbon中還包括以下功能:
易于與服務(wù)發(fā)現(xiàn)組件(比如Netflix的Eureka)集成 使用Archaius完成運(yùn)行時(shí)配置 使用JMX暴露運(yùn)維指標(biāo),使用Servo發(fā)布 多種可插拔的序列化選擇 異步和批處理操作(即將推出) 自動(dòng)SLA框架(即將推出) 系統(tǒng)管理/指標(biāo)控制臺(tái)(即將推出)
(三)、Spring Cloud Config
1、spring-cloud-config
俗稱的配置中心,配置管理工具包,讓你可以把配置放到遠(yuǎn)程服務(wù)器,集中化管理集群配置, 目前支持本地存儲(chǔ)、Git以及Subversion 。就是以后大家武器、槍火什么的東西都集中放到一起,別隨便自己帶,方便以后統(tǒng)一管理、升級(jí)裝備。
2、Spring Cloud Config配置中心
將配置信息中央化保存, 配置Spring Cloud Bus可以實(shí)現(xiàn)動(dòng)態(tài)修改配置文件。這個(gè)還是靜態(tài)的,得配合Spring Cloud Bus實(shí)現(xiàn)動(dòng)態(tài)的配置更新。
3、Spring Cloud Config
Spring Cloud Config就是我們通常意義上的配置中心。Spring Cloud Config-把應(yīng)用原本放在本地文件的配置抽取出來(lái)放在 中心服務(wù)器 ,本質(zhì)是配置信息從本地遷移到云端。從而能夠提供更好的管理、發(fā)布能力。 Spring Cloud Config分服務(wù)端和客戶端,服務(wù)端負(fù)責(zé)將git(svn)中存儲(chǔ)的配置文件發(fā)布成REST接口,客戶端可以從服務(wù)端REST接口獲取配置。但客戶端并不能主動(dòng)感知到配置的變化,從而主動(dòng)去獲取新的配置,這需要每個(gè)客戶端通過POST方法觸發(fā)各自的/refresh。
(四)、 Spring cloud Hystrix 熔斷器
1、netflix-hystrix
熔斷器,容錯(cuò)管理工具,旨在通過熔斷機(jī)制控制服務(wù)和第三方庫(kù)的節(jié)點(diǎn),從而對(duì)延遲和故障提供更強(qiáng)大的容錯(cuò)能力。比如突然某個(gè)小弟生病了,但是你還需要它的支持,然后調(diào)用之后它半天沒有響應(yīng),你卻不知道,一直在等等這個(gè)響應(yīng);有可能別的小弟也正在調(diào)用你的武功絕技,那么當(dāng)請(qǐng)求多之后,就會(huì)發(fā)生嚴(yán)重的阻塞影響老大的整體計(jì)劃。這個(gè)時(shí)候Hystrix就派上用場(chǎng)了, 當(dāng)Hystrix發(fā)現(xiàn)某個(gè)小弟不在狀態(tài)不穩(wěn)定立馬馬上讓它下線,讓其它小弟來(lái)頂上來(lái) ,或者給你說(shuō)不用等了這個(gè)小弟今天肯定不行,該干嘛趕緊干嘛去別在這排隊(duì)了。
2、Spring cloud Hystrix 熔斷器
斷路器(Cricuit Breaker)是一種能夠在遠(yuǎn)程服務(wù)不可用時(shí)自動(dòng)熔斷(打開開關(guān)),并在遠(yuǎn)程服務(wù)恢復(fù)時(shí)自動(dòng)恢復(fù)(閉合開關(guān))的設(shè)施,Spring Cloud通過Netflix的 Hystrix組件 提供斷路器、資源隔離與自我修復(fù)功能。
斷路器可以防止一個(gè)應(yīng)用程序多次試圖執(zhí)行一個(gè)操作,即很可能失敗,允許它繼續(xù)而不等待故障恢復(fù)或者浪費(fèi) CPU 周期,而它確定該故障是持久的。斷路器模式也使應(yīng)用程序能夠檢測(cè)故障是否已經(jīng)解決。如果問題似乎已經(jīng)得到糾正,應(yīng)用程序可以嘗試調(diào)用操作。
3、Hystrix01
斷路器增加了穩(wěn)定性和靈活性,以一個(gè)系統(tǒng),提供穩(wěn)定性,而系統(tǒng)從故障中恢復(fù),并盡量減少此故障的對(duì)性能的影響。它可以幫助快速地拒絕對(duì)一個(gè)操作,即很可能失敗,而不是等待操作超時(shí)(或者不返回)的請(qǐng)求,以保持系統(tǒng)的響應(yīng)時(shí)間。如果斷路器提高每次改變狀態(tài)的時(shí)間的事件,該信息可以被用來(lái)監(jiān)測(cè)由斷路器保護(hù)系統(tǒng)的部件的健康狀況,或以提醒管理員當(dāng)斷路器跳閘,以在打開狀態(tài)。
4、Hystrix02
5、Hystrix流程圖
(五)、 Spring Cloud Zuul 服務(wù)網(wǎng)關(guān),智能路由
1、netflix-zuul
Zuul 是在云平臺(tái)上提供動(dòng)態(tài)路由,監(jiān)控,彈性,安全等邊緣服務(wù)的框架。Zuul 相當(dāng)于是設(shè)備和 Netflix 流應(yīng)用的 Web 網(wǎng)站后端所有請(qǐng)求的前門。當(dāng)其它門派來(lái)找大哥辦事的時(shí)候一定要先經(jīng)過zuul,看下有沒有帶刀子什么的給攔截回去,或者是需要找那個(gè)小弟的直接給帶過去。
2、Spring Cloud Zuul 服務(wù)網(wǎng)關(guān)
3、Zuul
類似Nginx,反向代理的功能,不過netflix自己增加了一些配合其他組件的特性。
(六)、 Spring Netflix Archaius
1、netflix-archaius
配置管理API,包含一系列配置管理API,提供動(dòng)態(tài)類型化屬性、線程安全配置操作、輪詢框架、回調(diào)機(jī)制等功能??梢詫?shí)現(xiàn)動(dòng)態(tài)獲取配置, 原理是 每隔60s(默認(rèn),可配置)從配置源讀取一次內(nèi)容 ,這樣修改了配置文件后不需要重啟服務(wù)就可以使修改后的內(nèi)容生效,前提使用archaius的API來(lái)讀取。
(七)、 Spring Cloud Bus
1、spring-cloud-bus
事件、消息總線,用于在集群(例如,配置變化事件)中傳播狀態(tài)變化, 可與Spring Cloud Config聯(lián)合實(shí)現(xiàn)熱部署 。相當(dāng)于水滸傳中日行八百里的神行太保戴宗,確保各個(gè)小弟之間消息保持暢通。
分布式消息隊(duì)列,是對(duì)Kafka, MQ的封裝;事件、消息總線,用于在集群(例如,配置變化事件)中傳播狀態(tài)變化,可與Spring Cloud Config聯(lián)合實(shí)現(xiàn) 熱部署 。 Spring cloud bus通過輕量消息代理連接各個(gè)分布的節(jié)點(diǎn)。這會(huì)用在廣播狀態(tài)的變化(例如配置變化)或者其他的消息指令。Spring bus的一個(gè)核心思想是通過分布式的啟動(dòng)器對(duì)spring boot應(yīng)用進(jìn)行擴(kuò)展,也可以用來(lái)建立一個(gè)多個(gè)應(yīng)用之間的通信頻道。目前唯一實(shí)現(xiàn)的方式是用AMQP消息代理作為通道,同樣特性的設(shè)置(有些取決于通道的設(shè)置)在更多通道的文檔中。 Spring cloud bus被國(guó)內(nèi)很多都翻譯為消息總線,也挺形象的。大家可以將它理解為管理和傳播所有分布式項(xiàng)目中的消息既可,其實(shí)本質(zhì)是利用了MQ的廣播機(jī)制在分布式的系統(tǒng)中傳播消息,目前常用的有Kafka和RabbitMQ。利用bus的機(jī)制可以做很多的事情,其中配置中心客戶端刷新就是典型的應(yīng)用場(chǎng)景之一,我們用一張圖來(lái)描述bus在配置中心使用的機(jī)制。
2、Spring Cloud Bus
根據(jù)此圖我們可以看出利用Spring Cloud Bus做配置更新的步驟:
提交代碼觸發(fā)post給客戶端A發(fā)送bus/refresh 客戶端A接收到請(qǐng)求從Server端更新配置并且發(fā)送給Spring Cloud Bus Spring Cloud bus接到消息并通知給其它客戶端 其它客戶端接收到通知,請(qǐng)求Server端獲取最新配置 全部客戶端均獲取到最新的配置
(八)、Spring Cloud Security
1、spring-cloud-security
對(duì)Spring Security的封裝,并能配合Netflix使用,安全工具包,為你的應(yīng)用程序添加安全控制, 主要是指OAuth3 。 基于spring security的安全工具包,為你的應(yīng)用程序添加安全控制。這個(gè)小弟很牛鼻專門負(fù)責(zé)整個(gè)幫派的 安全問題 ,設(shè)置不同的門派訪問特定的資源,不能把秘籍葵花寶典泄漏了。
(九)、 Spring Cloud Zookeeper
1、spring-cloud-zookeeper
對(duì)Zookeeper的封裝,使之能配置其它Spring Cloud的子項(xiàng)目使用;操作Zookeeper的工具包, 用于使用zookeeper方式的服務(wù)注冊(cè)和發(fā)現(xiàn) 。 ZooKeeper是一個(gè)分布式的,開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個(gè)開源的實(shí)現(xiàn),是Hadoop和Hbase的重要組件。它是一個(gè)為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等。ZooKeeper的目標(biāo)就是封裝好復(fù)雜易出錯(cuò)的關(guān)鍵服務(wù),將簡(jiǎn)單易用的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶。 操作Zookeeper的工具包,用于使用zookeeper方式的服務(wù)發(fā)現(xiàn)和配置管理,抱了Zookeeper的大腿。
(十)、 Spring Cloud Stream
spring-cloud-stream
數(shù)據(jù)流;數(shù)據(jù)流操作開發(fā)包,封裝了與Redis,Rabbit、Kafka等發(fā)送接收消息。 Spring Cloud Stream是創(chuàng)建消息驅(qū)動(dòng)微服務(wù)應(yīng)用的框架。Spring Cloud Stream是基于spring boot創(chuàng)建,用來(lái)建立單獨(dú)的/工業(yè)級(jí)spring應(yīng)用,使用spring integration提供與消息代理之間的連接。數(shù)據(jù)流操作開發(fā)包,封裝了與Redis,Rabbit、Kafka等發(fā)送接收消息。 一個(gè)業(yè)務(wù)會(huì)牽扯到多個(gè)任務(wù),任務(wù)之間是通過事件觸發(fā)的,這就是Spring Cloud stream要干的事了。
(十一)、 Spring Cloud Sleuth
spring-cloud-sleuth
服務(wù)跟蹤;日志收集工具包,封裝了Dapper,Zipkin和HTrace操作。 日志收集工具包,封裝了Dapper和log-based追蹤以及Zipkin和HTrace操作,為SpringCloud應(yīng)用實(shí)現(xiàn)了一種分布式追蹤解決方案。
(十二)、Spring Cloud Feign 使用HTTP請(qǐng)求遠(yuǎn)程服務(wù)
netflix-feign
在Spring Cloud Netflix棧中,各個(gè)微服務(wù)都是以HTTP接口的形式暴露自身服務(wù)的,因此在調(diào)用遠(yuǎn)程服務(wù)時(shí)就必須使用HTTP客戶端。我們可以使用JDK原生的URLConnection、Apache的Http Client、Netty的異步HTTP Client, Spring的RestTemplate。但是,用起來(lái)最方便、最優(yōu)雅的還是要屬Feign了。 Feign是一種聲明式、模板化的HTTP客戶端 。在Spring Cloud中使用Feign, 我們可以做到使用HTTP請(qǐng)求遠(yuǎn)程服務(wù)時(shí)能與調(diào)用本地方法一樣的編碼體驗(yàn),開發(fā)者完全感知不到這是遠(yuǎn)程方法,更感知不到這是個(gè)HTTP請(qǐng)求。 通過Feign, 我們能把HTTP遠(yuǎn)程調(diào)用對(duì)開發(fā)者完全透明,得到與調(diào)用本地方法一致的編碼體驗(yàn)。這一點(diǎn)與阿里Dubbo中暴露遠(yuǎn)程服務(wù)的方式類似, 區(qū)別在于Dubbo是基于私有二進(jìn)制協(xié)議,而Feign本質(zhì)上還是個(gè)HTTP客戶端 。如果是在用Spring Cloud Netflix搭建微服務(wù),那么Feign無(wú)疑是最佳選擇。
(十三) Spring Cloud for Cloud Foundry
pivotal-cloud-foundry
Cloud Foundry是VMware推出的業(yè)界第一個(gè)開源PaaS云平臺(tái),它支持多種框架、語(yǔ)言、運(yùn)行時(shí)環(huán)境、云平臺(tái)及應(yīng)用服務(wù),使開發(fā)人員能夠在幾秒鐘內(nèi)進(jìn)行應(yīng)用程序的部署和擴(kuò)展,無(wú)需擔(dān)心任何基礎(chǔ)架構(gòu)的問題 其實(shí)就是與CloudFoundry進(jìn)行集成的一套解決方案,抱了 Cloud Foundry 的大腿。
(十四)、 Spring Cloud Cluster
spring-cloud-cluster
Spring Cloud Cluster將取代Spring Integration。提供在分布式系統(tǒng)中的集群所需要的基礎(chǔ)功能支持,如: 選舉、集群的狀態(tài)一致性、全局鎖、tokens等 常見狀態(tài)模式的抽象和實(shí)現(xiàn)。 如果把不同的幫派組織成統(tǒng)一的整體,Spring Cloud Cluster已經(jīng)幫你提供了很多方便組織成統(tǒng)一的工具。
(十五)、Spring Cloud Consul
hashicorp-consul
Consul 是一個(gè)支持多數(shù)據(jù)中心分布式高可用的服務(wù)發(fā)現(xiàn)和配置共享的服務(wù)軟件, 由 HashiCorp 公司用 Go 語(yǔ)言開發(fā) , 基于 Mozilla Public License 2.0 的協(xié)議進(jìn)行開源. Consul 支持健康檢查,并允許 HTTP 和 DNS 協(xié)議調(diào)用 API 存儲(chǔ)鍵值對(duì). Spring Cloud Consul 封裝了Consul操作,consul是一個(gè)服務(wù)發(fā)現(xiàn)與配置工具,與Docker容器可以無(wú)縫集成。
(十六)、 Spring Cloud Data Flow
spring-cloud-data-flow
Data flow 是一個(gè)用于開發(fā)和執(zhí)行大范圍數(shù)據(jù)處理其模式包括ETL,批量運(yùn)算和持續(xù)運(yùn)算的統(tǒng)一編程模型和托管服務(wù)。 對(duì)于在現(xiàn)代運(yùn)行環(huán)境中可組合的微服務(wù)程序來(lái)說(shuō),Spring Cloud data flow是一個(gè)原生云可編配的服務(wù)。使用Spring Cloud data flow,開發(fā)者可以為像數(shù)據(jù)抽取,實(shí)時(shí)分析,和數(shù)據(jù)導(dǎo)入/導(dǎo)出這種常見用例創(chuàng)建和編配數(shù)據(jù)通道 (data pipelines)。 Spring Cloud data flow 是基于原生云對(duì) spring XD的重新設(shè)計(jì),該項(xiàng)目目標(biāo)是簡(jiǎn)化大數(shù)據(jù)應(yīng)用的開發(fā)。Spring XD 的流處理和批處理模塊的重構(gòu)分別是基于 spring boot的stream 和 task/batch 的微服務(wù)程序。這些程序現(xiàn)在都是自動(dòng)部署單元而且他們?cè)闹С窒?Cloud Foundry、Apache YARN、Apache Mesos和Kubernetes 等現(xiàn)代運(yùn)行環(huán)境。 Spring Cloud data flow 為基于微服務(wù)的分布式流處理和批處理數(shù)據(jù)通道提供了一系列模型和最佳實(shí)踐。
(十七)、Spring Cloud Task
spring-cloud-task
Spring Cloud Task 主要解決短命微服務(wù)的任務(wù)管理,任務(wù)調(diào)度的工作,比如說(shuō)某些定時(shí)任務(wù)晚上就跑一次,或者某項(xiàng)數(shù)據(jù)分析臨時(shí)就跑幾次。
(十八)、 Spring Cloud Connectors
spring-cloud-connectors
Spring Cloud Connectors 簡(jiǎn)化了連接到服務(wù)的過程和從云平臺(tái)獲取操作的過程,有很強(qiáng)的擴(kuò)展性,可以利用Spring Cloud Connectors來(lái)構(gòu)建你自己的云平臺(tái)。 便于云端應(yīng)用程序在各種PaaS平臺(tái)連接到后端,如:數(shù)據(jù)庫(kù)和消息代理服務(wù)。
(十九)、 Spring Cloud Starters
spring-cloud-starters
Spring Boot式的啟動(dòng)項(xiàng)目,為Spring Cloud提供開箱即用的依賴管理。
(二十)、 Spring Cloud CLI
spring-cloud-cli
基于 Spring Boot CLI,可以讓你以命令行方式快速建立云組件。
(二十一)、 Netflix Turbine
netflix-turbine
Turbine是聚合服務(wù)器發(fā)送事件流數(shù)據(jù)的一個(gè)工具,用來(lái)監(jiān)控集群下hystrix的metrics情況。
四、和Spring Boot 是什么關(guān)系
Spring boot 是 Spring 的一套 快速配置腳手架 ,可以基于spring boot 快速開發(fā)單個(gè)微服務(wù),Spring Cloud是一個(gè)基于Spring Boot實(shí)現(xiàn)的云應(yīng)用開發(fā)工具;Spring boot專注于快速、方便集成的單個(gè)個(gè)體,Spring Cloud是關(guān)注全局的服務(wù)治理框架;spring boot使用了默認(rèn)大于配置的理念,很多集成方案已經(jīng)幫你選擇好了,能不配置就不配置,Spring Cloud很大的一部分是基于Spring boot來(lái)實(shí)現(xiàn),可以不基于Spring boot嗎?不可以。 Spring boot可以離開Spring Cloud獨(dú)立使用開發(fā)項(xiàng)目, 但是Spring Cloud離不開Spring boot,屬于依賴的關(guān)系
Spring -> Spring Boot > Spring Cloud 這樣的關(guān)系。
感謝各位的閱讀,以上就是“SpringCloud怎么實(shí)現(xiàn)客戶端負(fù)載均衡”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)SpringCloud怎么實(shí)現(xiàn)客戶端負(fù)載均衡這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。