中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

spring-cloud有哪些作用

發布時間:2021-06-25 11:07:38 來源:億速云 閱讀:823 作者:chen 欄目:大數據

這篇文章主要講解了“spring-cloud有哪些作用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“spring-cloud有哪些作用”吧!

Spring cloud研究總結

微服務啟動

Spring cloud沿用了spring boot的啟動方式

普通服務用

@EnableDiscoveryClient

@SpringBootApplication

spring-cloud有哪些作用

注冊中心

spring-cloud有哪些作用

服務注冊

Spring cloud微服務,需要有一個注冊環境eureka-server,每個服務都將注冊到該服務中去。

配置如下,

eureka-server的maven引入

spring-cloud有哪些作用

application.properties配置文件

在默認設置下,該服務注冊中心也會將自己作為客戶端來嘗試注冊它自己,所以我們需要禁用它的客戶端注冊行為(單點注冊中心,后集群部署會有不同)

spring-cloud有哪些作用

生產者

生產者需要將服務發布到注冊中心

注冊到注冊中心:

eureka.client.serviceUrl.defaultZone=http://localhost:7070/eureka/

spring-cloud有哪些作用

消費者

消費者調用服務

定義接口,將service-B以接口的形式定義好,這個service-B就是微服務在注冊中心定義的服務名稱

spring-cloud有哪些作用

負載均衡策略

相同的服務,以同一個id,不同端口,注冊到注冊中心,在調用時,spring-cloud通過ribbon實現服務調度。Ribbon會通過服務的負荷,優先調用負荷底的服務。

spring-cloud有哪些作用

spring-cloud有哪些作用

spring-cloud有哪些作用

注冊中心集群

注冊中心通過相互注冊的形式,spring cloud擁有服務傳遞的能力,從而能夠實現,注冊中心,集群配置

配置一:

假設我們有3個注冊中心,我們將peer1、peer2、peer3各自都將serviceUrl指向另外兩個節點。換言之,peer1、peer2、peer3是兩兩互相注冊的。啟動三個服務注冊中心,并將compute-service的serviceUrl指向peer1并啟動,可以獲得如下圖所示的集群效果。

spring-cloud有哪些作用

spring-cloud有哪些作用

配置二

依然假設我們有3個注冊中心,我們將peer1的serviceUrl指向peer2,peer2的指向peer3,peer3的指向peer1,此時peer1、peer2、peer3通過單向邊形成環。分別啟動peer1、peer2、peer3,并訪問信息頁面,我們可以找到下面的規律,peer1成為了peer2的分片節點,peer2成為了peer3的分片節點,peer3則成為了peer1的分片節點,再將compute-service的serviceUrl指向peer1并啟動。放別訪問peer1、peer2、peer3的信息頁面,可以發現compute-service均被peer2和peer3同步過去了,所以單向邊也能進行服務的傳播與同步。此時,我們斷開peer2,可以看到peer3中的compute-service消失了。重新開啟peer2并斷開peer3,可以看到peer2依然能同步到compute-service。所以我們可以得出結論,Eureka Server的傳播與同步是具備方向性的。

spring-cloud有哪些作用

兩兩注冊的方式可以實現集群中節點完全對等的效果,實現最高可用性集群,任何一臺注冊中心故障都不會影響服務的注冊與發現Eureka Server具備單方面有指向的服務傳播與同步機制,在一些對服務發現有限制的情況下,可以利用這樣的機制進行服務注冊與發現的的單向控制

斷路器

1.斷路器機制

斷路器很好理解, 當Hystrix Command請求后端服務失敗數量超過一定比例(默認50%), 斷路器會切換到開路狀態(Open). 這時所有請求會直接失敗而不會發送到后端服務. 斷路器保持在開路狀態一段時間后(默認5秒), 自動切換到半開路狀態(HALF-OPEN). 這時會判斷下一次請求的返回情況, 如果請求成功, 斷路器切回閉路狀態(CLOSED), 否則重新切換到開路狀態(OPEN). Hystrix的斷路器就像我們家庭電路中的保險絲, 一旦后端服務不可用, 斷路器會直接切斷請求鏈, 避免發送大量無效請求影響系統吞吐量, 并且斷路器有自我檢測并恢復的能力.

2.Fallback

Fallback相當于是降級操作. 對于查詢操作, 我們可以實現一個fallback方法, 當請求后端服務出現異常的時候, 可以使用fallback方法返回的值. fallback方法的返回值一般是設置的默認值或者來自緩存.

3.資源隔離

在Hystrix中, 主要通過線程池來實現資源隔離. 通常在使用的時候我們會根據調用的遠程服務劃分出多個線程池. 例如調用產品服務的Command放入A線程池, 調用賬戶服務的Command放入B線程池. 這樣做的主要優點是運行環境被隔離開了. 這樣就算調用服務的代碼存在bug或者由于其他原因導致自己所在線程池被耗盡時, 不會對系統的其他服務造成影響. 但是帶來的代價就是維護多個線程池會對系統帶來額外的性能開銷. 如果是對性能有嚴格要求而且確信自己調用服務的客戶端代碼不會出問題的話, 可以使用Hystrix的信號模式(Semaphores)來隔離資源.

spring-cloud有哪些作用

服務異步調用

異步調用調用消息,無需等待消息返回。

1.定義消費者服務為可異步調用服務

spring-cloud有哪些作用

定義方法為異步方法

spring-cloud有哪些作用

滿足以上兩點,在消費者服務調用時候,就實現了異步操作。

spring-cloud有哪些作用

spring-cloud有哪些作用

分布式部署配置文件管理

當微服務越來越多時,系統的配置文件就會越來越多,通過spring cloud提供的config-server來集中管理配置文件信息。Config -server默認的將配置文件通過git存放。支持遠程獲取,以遠程git配置倉庫為例

1.在oschina創建一個git配置倉庫,里面包含各種配置文件,包括,lovnx-dev.properties,lovnx-test.properties。

2.創建config-server服務

spring-cloud有哪些作用

  1. 設置遠程倉庫信息

  2. spring-cloud有哪些作用

  3. 普通服務調用配置服務

  4. spring-cloud有哪些作用

  5. 這樣就獲取到了lovnx-dev.properties配置文件信息

  6. Spring cloud監控

    應用的監控功能,對于分布式系統非常重要。如果把分布式系統比作整個社會系統。那么各個服務對應社會中具體服務機構,比如銀行、學校、超市等,那么監控就類似于警察局和醫院,所以其重要性顯而易見。這里說的,監控服務的部署及運行情況,和斷路器監控不一樣,這里主要是監控服務及服務器的各項指標

spring-cloud有哪些作用

spring-cloud有哪些作用

spring-cloud有哪些作用

感謝各位的閱讀,以上就是“spring-cloud有哪些作用”的內容了,經過本文的學習后,相信大家對spring-cloud有哪些作用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

民权县| 班玛县| 巫山县| 正镶白旗| 松滋市| 乐昌市| 宜城市| 塔河县| 门源| 工布江达县| 丹棱县| 五河县| 香港| 女性| 东宁县| 沙坪坝区| 大兴区| 巨野县| 宜君县| 沙湾县| 朝阳县| 湖州市| 漳州市| 监利县| 凤台县| 滁州市| 闻喜县| 民和| 明水县| 汪清县| 苗栗县| 都安| 中山市| 尉氏县| 根河市| 银川市| 安乡县| 石家庄市| 平利县| 桦南县| 连南|