Springboot適用雲計算

2021-09-25 06:37:16 字數 2176 閱讀 2303

spring cloud是乙個基於spring boot實現的雲應用開發工具,它為基於jvm的雲應用開發中的配置管理、服務發現、斷路器、智慧型路由、微**、控制匯流排、全域性鎖、決策競選、分布式會話和集群狀態管理等操作提供了一種簡單的開發方式。

spring cloud與dubbo對比

提到dubbo,我想順便提下esb,目前央視新華社也在用esb來做任務編排,這裡先比較下dubbo和esb:

esb(企業資料匯流排),一般採用集中式**請求,適合大量異構系統整合,側重任務的編排,效能問題可通過異構的方式來進行規避,無法支援特別大的併發。

dubbo(服務註冊管理),採用的是分布式呼叫,註冊中心只記錄位址資訊,然後直連呼叫,適合併發及壓力比較大的情況;其側重服務的治理,將各個服務顆粒化,各個子業務系統在程式邏輯上完成業務的編排。

回歸主題,spring cloud和dubbo又有什麼不同那,首先,我們看下有什麼相同之處,它們兩都具備分布式服務治理相關的功能,都能夠提供服務註冊、發現、路由、負載均衡等。說到這,dubbo的功能好像也就這麼多了,但是spring cloud是提供了一整套企業級分布式雲應用的完美解決方案,能夠結合spring boot,docker實現快速開發的目的,所以說dubbo只有spring cloud的一部分rpc功能,而且也談不上誰好誰壞。不過,dubbo專案現已停止了更新,**內部由hsf替代dubbo,我想這會有更多人傾向spring cloud了。

從開發角度上說,dubbo常與spring、zookeeper結合,而且實現只是通過xml來配置服務位址、名稱、埠,**的侵入性是很小的,相對spring cloud,它的實現需要類註解等,多少具有一定侵入性。

spring cloud子專案

spring cloud包含了多個子專案(針對分布式系統中涉及的多個不同開源產品),之前在第一章節也介紹這些,比如:spring cloud config、spring cloud netflix、spring cloud cloudfoundry、spring cloud aws、spring cloud security、spring cloud commons、spring cloud zookeeper、spring cloud cli等專案,可以跳至(一)看下。

配置服務

spring cloud提供了config server,它有在分布式系統開發中做外部配置的功能,通過config server我們可以集中儲存所有應用的配置檔案。config server支援git或者在檔案系統中放置配置檔案(gitlab),通常我們使用不同格式來區分不同應用的不同配置檔案。雲計算環境下,習慣上使用yaml配置,而且一般配置檔案的位置都放在類路徑下的config目錄下,配置檔案規則:應用名+profile.yml:

服務發現

spring cloud通過netflix oss的eureka來實現服務發現,服務發現的主要目的是為了讓每個服務之間可以互相通訊。eureka server為微服務的註冊中心。談到spring cloud netflix,它是spring cloud的子專案之一,主要提供的模組包括:服務發現(eureka),斷路器(hystrix),智慧型路有(zuul),客戶端負載均衡(ribbon)等。

spring cloud使用註解的方式提供了eureka服務端(@enableeurekaserver)和客戶端(@enableeurekaclient)。

路由閘道器

路由閘道器的主要目的是為了讓所有的微服務對外只有乙個介面,我們只需訪問乙個閘道器位址,即可由閘道器將所有的請求**到不同的服務中。spring cloud是通過zuul來實現的,支援自動路由對映到在eureka server上註冊的服務。spring cloud提供了註解@enablezuulproxy來啟用路由**。

斷路器斷路器(circuit breaker)主要是為了解決當某個方法呼叫失敗的時候,呼叫後備方法來替代失敗的方法,已達到容錯/阻止級聯錯誤的功能。spring cloud使用@enablecircuitbreaker來啟用斷路器支援,使用@hystrixcommand的fallbackmethod來指定後備方法。(@hystrixcommand(fallbackmethod=「fallbackoper」))

spring cloud還提供了乙個控制台來監控斷路器的運**況,通過@enablehystrixdashboard註解開啟。

spring cloud依賴庫

這裡我會羅列下常用的一些依賴包,為了更好理解每個依賴所負責的區域,我還是用一張和之前類似的圖來展示各塊的功能:

常用依賴包如下:

雲計算入門指南 適用於初學者的完整雲計算指南

在本雲計算指南中,我們將涵蓋所有資訊,如歷史,特徵,優勢,劣勢和雲計算型別。此外,我們將了解雲計算部署模型以及使用它的公司列表。那麼,您準備好了解有關雲計算的更多資訊嗎?什麼是雲計算?雲計算是一種為客戶提供網際網路服務的服務。它只是說雲計算意味著通過網際網路而不是計算機的硬碟儲存和訪問資料和程式。資...

美科學家開發資料自毀技術 適用雲計算架構

本文講的是美科學家開發資料自毀技術 適用雲計算架構,it168 資訊 華盛頓大學的計算機科學家開發出了讓電子資訊經過一段時間後自毀的技術。研究人員表示,由於個人或企業資訊將不再儲存在pc,而儲存在伺服器上,這款名為 vanish 的軟體的需求將越來越高。據國外 報道稱,讓資料經過一段時間後自行消失並...

雲計算大會之雲計算應用

中國移動發布大雲 大雲產品包括並行資料探勘工具 分布式海量資料倉儲 彈性計算系統 雲儲存系統 平行計算執行環境共五種產品。亞馬遜網路服務 amazon webservices,aws google地球 地圖 gmail docs等 微軟 windows azure 雲計算作業系統 salesforc...