国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁(yè) Java Java面試題 面試回饋 Spring Cloud 的25連環(huán)砲

面試回饋 Spring Cloud 的25連環(huán)砲

Aug 24, 2023 pm 03:57 PM
springcloud


前言

前段時(shí)間因特殊原因,導(dǎo)致我們的面試連環(huán)炮斷更了,剛好上週一位老鐵去面試被問(wèn)到了Spring Cloud,然後結(jié)合他的回饋,今天我們繼續(xù)走起SpringCloud面試連環(huán)砲。

歡迎大家追蹤我:

#Spring Cloud核心知識(shí)總結(jié)

#下面是一張Spring Cloud核心元件關(guān)係圖:

面試回饋 Spring Cloud 的25連環(huán)砲


從這張圖中,其實(shí)我們是可以獲取很多資訊的,希望大家細(xì)細(xì)品嚐。

以下是Spring Cloud NetflixSpring Cloud Alibaba核心元件的總結(jié):

面試回饋 Spring Cloud 的25連環(huán)砲

活不多說(shuō),我們直接開(kāi)始 Spring Cloud 連環(huán)砲。

連環(huán)炮走起

1、什麼是Spring Cloud ?

Spring cloud 流應(yīng)用程式啟動(dòng)器是基於 Spring Boot 的 Spring 整合應(yīng)用程序,提供與外部系統(tǒng)的整合。 Spring cloud Task,一個(gè)生命週期短暫的微服務(wù)框架,用於快速建立執(zhí)行有限資料處理的應(yīng)用程式。

2、什麼是微服務(wù)?

微服務(wù)架構(gòu)是一種架構(gòu)模式或說(shuō)是一種架構(gòu)風(fēng)格,它提倡將單一應(yīng)用程式劃分為一組小的服務(wù),每個(gè)服務(wù)運(yùn)行在其獨(dú)立的在自己的進(jìn)程中,服務(wù)之間相互協(xié)調(diào)、相互配合,為使用者提供最終價(jià)值。服務(wù)之間採(cǎi)用輕量級(jí)的通訊機(jī)制互相溝通(通常是基於HTTP的RESTful API),每個(gè)服務(wù)都圍繞著具體的業(yè)務(wù)進(jìn)行構(gòu)建,並且能夠被獨(dú)立的構(gòu)建在生產(chǎn)環(huán)境、類生產(chǎn)環(huán)境等。另外,應(yīng)避免統(tǒng)一的、集中式的服務(wù)管理機(jī)制,對(duì)具體的一個(gè)服務(wù)而言,應(yīng)根據(jù)業(yè)務(wù)上下文,選擇合適的語(yǔ)言、工具對(duì)其進(jìn)行構(gòu)建,可以有一個(gè)非常輕量級(jí)的集中式管理來(lái)協(xié)調(diào)這些服務(wù),可以使用不同的語(yǔ)言來(lái)編寫(xiě)服務(wù),也可以使用不同的資料儲(chǔ)存。

通俗的來(lái)講:

微服務(wù)就是一個(gè)獨(dú)立的職責(zé)單一的服務(wù)應(yīng)用程式。在 intellij idea 工具裡面就是用maven開(kāi)發(fā)的一個(gè)個(gè)獨(dú)立的module,具體就是使用springboot 開(kāi)發(fā)的一個(gè)小的模組,處理單一專業(yè)的業(yè)務(wù)邏輯,一個(gè)模組只做一個(gè)事情。

微服務(wù)強(qiáng)調(diào)的是服務(wù)大小,關(guān)注的是某一點(diǎn),具體解決某一個(gè)問(wèn)題/落地對(duì)應(yīng)的一個(gè)服務(wù)應(yīng)用,可以看做是idea 裡面一個(gè) module。

3、Spring Cloud有什麼優(yōu)勢(shì)

#使用 Spring Boot 開(kāi)發(fā)分散式微服務(wù)時(shí),我們面臨以下問(wèn)題

  • 與分散式系統(tǒng)相關(guān)的複雜性-這種開(kāi)銷包括網(wǎng)路問(wèn)題,延遲開(kāi)銷,頻寬問(wèn)題,安全問(wèn)題。
  • 服務(wù)發(fā)現(xiàn)-服務(wù)發(fā)現(xiàn)工具管理群集中的流程和服務(wù)如何找出並互相交談。它涉及一個(gè)服務(wù)目錄,在該目錄中註冊(cè)服務(wù),然後能夠找到並連接到該目錄中的服務(wù)。
  • 冗餘-分散式系統(tǒng)中的冗餘問(wèn)題。
  • 負(fù)載平衡 --負(fù)載平衡改善跨多個(gè)計(jì)算資源的工作負(fù)荷,諸如計(jì)算機(jī),計(jì)算機(jī)集群,網(wǎng)絡(luò)鏈路,中央處理單元,或磁碟驅(qū)動(dòng)器的分佈。
  • 效能-問(wèn)題 由於各種營(yíng)運(yùn)開(kāi)銷導(dǎo)致的效能問(wèn)題。
  • 部署複雜性-Devops 技能的要求。

4、微服務(wù)之間如何獨(dú)立通訊的?

同步通訊:dobbo透過(guò)RPC 遠(yuǎn)端過(guò)程調(diào)用、springcloud透過(guò)REST ?介面json呼叫等。

非同步:訊息佇列,如:RabbitMq、ActiveM、Kafka等訊息佇列。

5、 什麼是服務(wù)熔斷?什麼是服務(wù)降級(jí)?

熔斷機(jī)制是應(yīng)對(duì)雪崩效應(yīng)的一種微服務(wù)連結(jié)保護(hù)機(jī)制。當(dāng)某個(gè)微服務(wù)不可用或回應(yīng)時(shí)間太長(zhǎng)時(shí),會(huì)進(jìn)行服務(wù)降級(jí),進(jìn)而熔斷該節(jié)點(diǎn)微服務(wù)的調(diào)用,快速返回「錯(cuò)誤」的回應(yīng)訊息。當(dāng)偵測(cè)到該節(jié)點(diǎn)微服務(wù)呼叫響應(yīng)正常後恢復(fù)呼叫鏈路。在Spring Cloud框架裡熔斷機(jī)制透過(guò)Hystrix實(shí)現(xiàn),Hystrix會(huì)監(jiān)控微服務(wù)間呼叫的狀況,當(dāng)失敗的呼叫到一定閾值,缺省是5秒內(nèi)呼叫20次,如果失敗,就會(huì)啟動(dòng)熔斷機(jī)制。

服務(wù)降級(jí),一般是從整體負(fù)載考慮。就是當(dāng)某個(gè)服務(wù)熔斷之後,伺服器將不再被調(diào)用,此時(shí)客戶端可以自己準(zhǔn)備一個(gè)本地的fallback回調(diào),返回一個(gè)預(yù)設(shè)值。這樣做,雖然水平下降,但好歹可用,比直接掛掉強(qiáng)。

Hystrix相關(guān)註解@EnableHystrix:開(kāi)啟熔斷@HystrixCommand(fallbackMethod=”XXX”),宣告一個(gè)失敗回滾處理函數(shù)XXX ,當(dāng)被註解的方法執(zhí)行逾時(shí)(預(yù)設(shè)是1000毫秒),就會(huì)執(zhí)行fallback函數(shù),傳回錯(cuò)誤提示。

6、 請(qǐng)說(shuō)Eureka和zookeeper 的差別?

Zookeeper保證了CP,Eureka保證了AP。

A:高可用

C:一致性

P:分割區(qū)容錯(cuò)性

1.當(dāng)向註冊(cè)中心查詢服務(wù)清單時(shí),我們可以容忍註冊(cè)中心返回的是幾分鐘以前的信息,但不能容忍直接down掉不可用。也就是說(shuō),服務(wù)註冊(cè)功能對(duì)高可用性要求比較高,但zk會(huì)出現(xiàn)這樣一種情況,當(dāng)master節(jié)點(diǎn)因?yàn)榫W(wǎng)路故障與其他節(jié)點(diǎn)失去聯(lián)繫時(shí),剩餘節(jié)點(diǎn)會(huì)重新選leader。問(wèn)題在於,選取leader時(shí)間過(guò)長(zhǎng),30 ~ 120s,且選取期間zk叢集都不可用,這樣就會(huì)導(dǎo)致選取期間註冊(cè)服務(wù)癱瘓。在雲(yún)端部署的環(huán)境下,因網(wǎng)路問(wèn)題使得zk叢集失去master節(jié)點(diǎn)是較大機(jī)率會(huì)發(fā)生的事,雖然服務(wù)能夠恢復(fù),但是漫長(zhǎng)的選取時(shí)間導(dǎo)致的註冊(cè)長(zhǎng)期不可用是不能容忍的。

2.Eureka保證了可用性,Eureka各個(gè)節(jié)點(diǎn)是平等的,幾個(gè)節(jié)點(diǎn)掛掉不會(huì)影響正常節(jié)點(diǎn)的工作,剩餘的節(jié)點(diǎn)仍然可以提供註冊(cè)和查詢服務(wù)。而Eureka的客戶端向某個(gè)Eureka註冊(cè)或發(fā)現(xiàn)時(shí)發(fā)生連線失敗,則會(huì)自動(dòng)切換到其他節(jié)點(diǎn),只要有一臺(tái)Eureka還在,就能保證註冊(cè)服務(wù)可用,只是查到的資訊可能不是最新的。除此之外,Eureka還有自我保護(hù)機(jī)制,如果在15分鐘內(nèi)超過(guò)85%的節(jié)點(diǎn)沒(méi)有正常的心跳,那麼Eureka就認(rèn)為客戶端與註冊(cè)中心發(fā)生了網(wǎng)路故障,此時(shí)會(huì)出現(xiàn)以下幾種情況:

①、Eureka不在從註冊(cè)清單中移除因?yàn)殚L(zhǎng)時(shí)間沒(méi)有收到心跳而應(yīng)該過(guò)期的服務(wù)。

②、Eureka仍然能夠接受新服務(wù)的註冊(cè)和查詢請(qǐng)求,但是不會(huì)被同步到其他節(jié)點(diǎn)上(即保證當(dāng)前節(jié)點(diǎn)仍然可用)

③、當(dāng)網(wǎng)路穩(wěn)定時(shí),目前實(shí)例新的註冊(cè)資訊會(huì)被同步到其他節(jié)點(diǎn)。

因此,Eureka可以很好的應(yīng)對(duì)因網(wǎng)路故障導(dǎo)致部分節(jié)點(diǎn)失去聯(lián)繫的情況,而不會(huì)像Zookeeper那樣使整個(gè)微服務(wù)癱瘓

7、 SpringBoot和SpringCloud的差別?

SpringBoot專注於快速方便的開(kāi)發(fā)單一個(gè)體微服務(wù)。

SpringCloud是專注於全局的微服務(wù)協(xié)調(diào)整理治理框架,它將SpringBoot開(kāi)發(fā)的一個(gè)個(gè)單體微服務(wù)整合並管理起來(lái),

為各個(gè)微服務(wù)之間提供,配置管理、服務(wù)發(fā)現(xiàn)、斷路器、路由、微代理、事件總線、全域鎖、決策競(jìng)選、分散式會(huì)話等等集成服務(wù)

SpringBoot可以離開(kāi)SpringCloud獨(dú)立使??用開(kāi)發(fā)項(xiàng)目, 但是SpringCloud離不開(kāi)SpringBoot ,屬於依賴的關(guān)係.

SpringBoot專注於快速、方便的開(kāi)發(fā)單一微服務(wù)個(gè)體,SpringCloud關(guān)注全局的服務(wù)治理框架。

8、負(fù)載平衡的意義什麼?

在計(jì)算中,負(fù)載平衡可以改善跨計(jì)算機(jī),計(jì)算機(jī)集群,網(wǎng)絡(luò)鏈接,中央處理單元或磁碟機(jī)等多種計(jì)算資源的工作負(fù)載分佈。負(fù)載平衡旨在優(yōu)化資源使用,最大化吞吐量,最小化回應(yīng)時(shí)間並避免任何單一資源 的過(guò)載。使用多個(gè)組件進(jìn)行負(fù)載平衡而不是單一組件可能會(huì)透過(guò)冗餘來(lái)提高可靠性和可用性。負(fù)載平衡通常涉及專用軟體或硬體,例如多層交換器或網(wǎng)域名稱系統(tǒng)伺服器進(jìn)程。

9、什麼是Hystrix?它如何實(shí)現(xiàn)容錯(cuò)?

Hystrix是一個(gè)延遲和容錯(cuò)庫(kù),旨在隔離遠(yuǎn)端系統(tǒng),服務(wù)和第三方程式庫(kù)的存取點(diǎn),當(dāng)出現(xiàn)故障是不可避免的故障時(shí),停止級(jí)聯(lián)故障並在複雜的分散式系統(tǒng)中實(shí)現(xiàn)彈性。

通常是使用微服務(wù)架構(gòu)開(kāi)發(fā)的系統(tǒng),涉及許多微服務(wù)。這些微服務(wù)彼此協(xié)作。

思考以下微服務(wù)

面試回饋 Spring Cloud 的25連環(huán)砲

#假設(shè)如果上圖的微服務(wù)9失敗了,那麼使用傳統(tǒng)方法我們將傳播一個(gè)異常。但這仍然會(huì)導(dǎo)致整個(gè)系統(tǒng)崩潰。

隨著微服務(wù)數(shù)量的增加,這個(gè)問(wèn)題變得更加複雜。微服務(wù)的數(shù)量可以高達(dá)1000.這是hystrix出現(xiàn)的地方 我們將使用Hystrix在這種情況下的Fallback方法功能。我們有兩個(gè)服務(wù)employee-consumer使用由employee-consumer公開(kāi)的服務(wù)。

簡(jiǎn)化圖如下

面試回饋 Spring Cloud 的25連環(huán)砲

#現(xiàn)在假設(shè)由於某種原因,employee-producer公開(kāi)的服務(wù)會(huì)拋出異常。我們?cè)谶@種情況下使用Hystrix定義了一個(gè)回退方法。這種後備方法應(yīng)該具有與公開(kāi)服務(wù)相同的回傳類型。如果暴露服務(wù)中出現(xiàn)異常,則回退方法將傳回一些值。

10、什麼是Hystrix斷路器?我們需要它嗎?

由於某些原因,employee-consumer公開(kāi)服務(wù)會(huì)引發(fā)例外狀況。在這種情況下使用Hystrix我們定義了一個(gè)回退方法。如果在公開(kāi)服務(wù)中發(fā)生異常,則回退方法會(huì)傳回一些預(yù)設(shè)值。

面試回饋 Spring Cloud 的25連環(huán)砲


如果firstPage method() 中的例外狀況繼續(xù)發(fā)生,則Hystrix電路將中斷,並且員工使用者將一起跳過(guò)firtsPage方法,並直接呼叫回退方法。斷路器的目的是給第一頁(yè)方法或第一頁(yè)方法可能呼叫的其他方法留出時(shí)間,並導(dǎo)致異常恢復(fù)??赡馨l(fā)生的情況是,在負(fù)載較小的情況下,導(dǎo)致異常的問(wèn)題有更好的恢復(fù)機(jī)會(huì) 。

面試回饋 Spring Cloud 的25連環(huán)砲


#11、說(shuō)RPC 的實(shí)作原理

首先需要有處理網(wǎng)路連線通訊的模組,負(fù)責(zé)連接建立、管理和訊息的傳輸。其次需要有編 解碼的模組,因?yàn)榫W(wǎng)路通訊都是傳輸?shù)淖止?jié)碼,需要將我們使用的物件序列化和反序列 化。剩下的就是客戶端和伺服器端的部分,伺服器端暴露要開(kāi)放的服務(wù)接口,客戶調(diào)用服 務(wù)接口的一個(gè)代理實(shí)現(xiàn),這個(gè)代理實(shí)現(xiàn)負(fù)責(zé)收集數(shù)據(jù)、編碼並傳輸給伺服器然後等待結(jié)果 返回。

12,eureka自我保護(hù)機(jī)制是什麼?

#當(dāng)Eureka Server 節(jié)點(diǎn)在短時(shí)間內(nèi)遺失了過(guò)多實(shí)例的連線時(shí)(例如網(wǎng)路故障或頻繁啟動(dòng)關(guān)閉客戶端)節(jié)點(diǎn)會(huì)進(jìn)入自我保護(hù)模式,保護(hù)註冊(cè)訊息,不再刪除註冊(cè)數(shù)據(jù),故障恢復(fù)時(shí),自動(dòng)退出自我保護(hù)模式。

13,什麼是Ribbon?

ribbon是一個(gè)負(fù)載平衡客戶端,可以很好的控制htt和tcp的一些行為。 feign預(yù)設(shè)整合了ribbon。

14,什麼是 Netflix Feign?它的優(yōu)點(diǎn)是什麼?

Feign 是受到 Retrofit,JAXRS-2.0 和 WebSocket 啟發(fā)的 java 用戶端聯(lián)編程式。

Feign 的第一個(gè)目標(biāo)是將約束分母的複雜性統(tǒng)一到 http apis,而不考慮其穩(wěn)定性。

特點(diǎn):

  • Feign 採(cǎi)用的是基於介面的註解
  • ##Feign 整合了ribbon,具有負(fù)載平衡的能力
  • 整合了Hystrix,具有熔斷的能力
#使用方式

  • 添加pom依賴。
  • 啟動(dòng)類別新增
    @EnableFeignClients
  • #定義一個(gè)介面
    @FeignClient(name=“xxx”) 指定呼叫哪個(gè)服務(wù)

15,ibbon和Feign的差別?

1.Ribbon都是呼叫其他服務(wù)的,但方式不同。 2.啟動(dòng)類別註解不同,Ribbon是@RibbonClient feign的是@EnableFeignClients 3.服務(wù)指定的位置不同,Ribbon是在@RibbonClient註解上聲明,F(xiàn)eign則是在定義抽象方法的介面中使用@FeignClient聲明。 4.呼叫方式不同,Ribbon需要自己建構(gòu)http請(qǐng)求,模擬http請(qǐng)求。

16、Spring Cloud 的核心元件有哪些?

  • Eureka:服務(wù)註冊(cè)於發(fā)現(xiàn)
  • Feign:基於動(dòng)態(tài)代理機(jī)制,根據(jù)註解和選擇的機(jī)器,拼接請(qǐng)求 url 位址,發(fā)起請(qǐng)求。
  • Ribbon:實(shí)作負(fù)載平衡,從一個(gè)服務(wù)的多臺(tái)機(jī)器中選擇一臺(tái)。
  • Hystrix:提供執(zhí)行緒池,不同的服務(wù)走不同的執(zhí)行緒池,實(shí)現(xiàn)了不同服務(wù)呼叫的隔離,避免了服務(wù)雪崩的問(wèn)題。
  • Zuul:網(wǎng)關(guān)管理,由 Zuul 閘道轉(zhuǎn)送要求給對(duì)應(yīng)的服務(wù)。

17、說(shuō)說(shuō)Spring Boot和Spring Cloud的關(guān)係

Spring Boot是Spring推出用於解決傳統(tǒng)框架設(shè)定檔冗餘,組裝組件繁雜的基於Maven的解決方案,旨在快速建立單一微服務(wù) 而Spring Cloud專注於解決各個(gè)微服務(wù)之間的協(xié)調(diào)與配置,服務(wù)之間的通訊,熔斷,負(fù)載平衡等 技術(shù)維度並相同,並且Spring Cloud是依賴於Spring Boot的,而Spring Boot並不是依賴與Spring Cloud,甚至還可以和Dubbo進(jìn)行優(yōu)秀的整合開(kāi)發(fā)

總結(jié)

  • SpringBoot專注於快速方便的開(kāi)發(fā)單一個(gè)體的微服務(wù)
  • SpringCloud是關(guān)注全局的微服務(wù)協(xié)調(diào)整理治理框架,整合並管理各個(gè)微服務(wù),為各個(gè)微服務(wù)之間提供,配置管理,服務(wù)發(fā)現(xiàn),斷路器,路由,事件匯流排等整合服務(wù)
  • #Spring Boot不依賴Spring Cloud,Spring Cloud依賴於Spring Boot,屬於依賴關(guān)係
  • Spring Boot專注於快速,方便的開(kāi)發(fā)單一的微服務(wù)個(gè)體,Spring Cloud關(guān)注全局的服務(wù)治理框架

18、說(shuō)說(shuō)微服務(wù)之間是如何獨(dú)立通訊的?

遠(yuǎn)端過(guò)程呼叫(Remote Procedure Invocation)

也就是我們常說(shuō)的服務(wù)的註冊(cè)與發(fā)現(xiàn),直接透過(guò)遠(yuǎn)端過(guò)程呼叫來(lái)存取別的service。

優(yōu)點(diǎn):簡(jiǎn)單,常見(jiàn),因?yàn)闆](méi)有中間件代理,系統(tǒng)更簡(jiǎn)單

缺點(diǎn):只支援請(qǐng)求/回應(yīng)的模式,不支援別的,例如通知、請(qǐng)求/非同步回應(yīng)、發(fā)布/訂閱、發(fā)布/非同步回應(yīng),降低了可用性,因?yàn)榭蛻舳撕头?wù)端在請(qǐng)求過(guò)程中必須都是可用的。

訊息

使用非同步訊息來(lái)做服務(wù)間通訊。服務(wù)間透過(guò)訊息管道來(lái)交換訊息,從而通訊。

優(yōu)點(diǎn):把客戶端和服務(wù)端解耦,更鬆耦合,提高可用性,因?yàn)橛嵪⒅虚g件快取了訊息,直到消費(fèi)者可以消費(fèi), ? ? ? 支援很多通訊機(jī)制例如通知、請(qǐng)求/非同步回應(yīng)、發(fā)布/訂閱、發(fā)布/非同步回應(yīng)。

缺點(diǎn):訊息中間件有額外的複雜。

19、Spring Cloud如何實(shí)現(xiàn)服務(wù)的註冊(cè)?

#服務(wù)發(fā)佈時(shí),指定對(duì)應(yīng)的服務(wù)名,將服務(wù)註冊(cè)到註冊(cè)中心(Eureka 、Zookeeper)。

註冊(cè)中心加上@EnableEurekaServer,服務(wù)用@EnableDiscoveryClient,然後用ribbon或feign進(jìn)行服務(wù)直接的呼叫發(fā)現(xiàn)。

此題偏向向?qū)崙?zhàn),就看你是不是背面試題的,沒(méi)有實(shí)戰(zhàn)的人是不知道的。

20、什麼是服務(wù)熔斷?

在複雜的分散式系統(tǒng)中,微服務(wù)之間的相互調(diào)用,有可能出現(xiàn)各種各樣的原因?qū)е路?wù)的阻塞,在高並發(fā)場(chǎng)景下,服務(wù)的阻塞意味著執(zhí)行緒的阻塞,導(dǎo)致目前執(zhí)行緒不可用,伺服器的執(zhí)行緒全部阻塞,導(dǎo)致伺服器崩潰,由於服務(wù)之間的呼叫關(guān)係是同步的,會(huì)對(duì)整個(gè)微服務(wù)系統(tǒng)造成服務(wù)雪崩

為了解決某個(gè)微服務(wù)的呼叫回應(yīng)時(shí)間過(guò)長(zhǎng)或不可用進(jìn)而佔(zhàn)用越來(lái)越多的系統(tǒng)資源引起雪崩效應(yīng)就需要進(jìn)行服務(wù)熔斷和服務(wù)降級(jí)處理。

所謂的服務(wù)熔斷指的是某個(gè)服務(wù)故障或異常一起類似顯示世界中的「保險(xiǎn)絲"當(dāng)某個(gè)異常條件被觸發(fā)就直接熔斷整個(gè)服務(wù),而不是一直等到此服務(wù)超時(shí)。

服務(wù)熔斷就是相當(dāng)於我們電閘的保險(xiǎn)絲,一旦發(fā)生服務(wù)雪崩的,就會(huì)熔斷整個(gè)服務(wù),通過(guò)維護(hù)一個(gè)自己的線程池,當(dāng)線程達(dá)到閾值的時(shí)候就啟動(dòng)服務(wù)降級(jí),如果其他請(qǐng)求繼續(xù)訪問(wèn)就直接回傳fallback的預(yù)設(shè)值

21、了解Eureka自我保護(hù)機(jī)制嗎?

當(dāng)Eureka Server 節(jié)點(diǎn)在短時(shí)間內(nèi)遺失了過(guò)多實(shí)例的連線時(shí)(例如網(wǎng)路故障或頻繁啟動(dòng)關(guān)閉客戶端)節(jié)點(diǎn)會(huì)進(jìn)入自我保護(hù)模式,保護(hù)註冊(cè)訊息,不再刪除註冊(cè)數(shù)據(jù),故障恢復(fù)時(shí),自動(dòng)退出自我保護(hù)模式。

22、熟悉Spring Cloud Bus 嗎?

#spring cloud bus 將分散式的節(jié)點(diǎn)用輕量級(jí)的訊息代理連接起來(lái),它可以用於廣播設(shè)定檔的變更或服務(wù)直接的通訊,也可用於監(jiān)控。如果修改了設(shè)定文件,發(fā)送一次請(qǐng)求,所有的客戶端就會(huì)重新讀取設(shè)定檔。

23、Spring Cloud 斷路器有什麼作用?

#當(dāng)一個(gè)服務(wù)呼叫另一個(gè)服務(wù)因?yàn)榫W(wǎng)路原因或自身原因出現(xiàn)問(wèn)題,呼叫者就會(huì)等待被呼叫者的回應(yīng),當(dāng)更多的服務(wù)請(qǐng)求到這些資源導(dǎo)致更多的請(qǐng)求等待,發(fā)生連鎖效應(yīng)(雪崩效應(yīng))。一段時(shí)間內(nèi) 達(dá)到一定的次數(shù)無(wú)法呼叫 並且多次監(jiān)控沒(méi)有恢復(fù)的跡象,這時(shí)候斷路器完全打開(kāi) 那麼下次請(qǐng)求就不會(huì)請(qǐng)求到該服務(wù)。

半開(kāi):短時(shí)間內(nèi) 有恢復(fù)跡象 斷路器會(huì)將部分請(qǐng)求發(fā)給該服務(wù),正常呼叫時(shí) 斷路器關(guān)閉。關(guān)閉:當(dāng)服務(wù)一直處?kù)墩顟B(tài) 能正常呼叫。

24、了解Spring Cloud Config 嗎?

#在分散式系統(tǒng)中,由於服務(wù)數(shù)量巨多,為了方便服務(wù)設(shè)定檔統(tǒng)一管理,即時(shí)更新,所以需要分散式配置中心元件。在Spring Cloud中,有分散式配置中心元件Spring Cloud Config,它支援配置服務(wù)放在配置服務(wù)的記憶體中(即本地),也支援放在遠(yuǎn)端Git倉(cāng)庫(kù)中。

Spring Cloud Config 元件中,分成兩個(gè)角色,一是config server,二是config client。

使用方式:

  • 新增pom依賴
  • 設(shè)定檔新增相關(guān)組態(tài)
  • 啟動(dòng)類別新增註解@EnableConfigServer

#25、說(shuō)說(shuō)你對(duì)Spring Cloud Gateway的理解

Spring Cloud Gateway是Spring Cloud官方推出的第二代網(wǎng)關(guān)框架,取代Zuul網(wǎng)關(guān)。網(wǎng)關(guān)作為流量的,在微服務(wù)系統(tǒng)中有著非常作用,網(wǎng)關(guān)常見(jiàn)的功能有路由轉(zhuǎn)送、權(quán)限校驗(yàn)、限流控制等作用。

使用了一個(gè)RouteLocatorBuilder的bean去創(chuàng)建路由,除了創(chuàng)建路由RouteLocatorBuilder可以讓你添加各種predicates和filters,predicates斷言的意思,顧名思義就是根據(jù)具體的請(qǐng)求的規(guī)則,由具體的route去處理,filters是各種過(guò)濾器,用來(lái)對(duì)請(qǐng)求做各種判斷和修改。

參考;http://1pgqu.cn/M0NZo

#總結(jié)

Spring Cloud目前相當(dāng)?shù)幕馃?,也差不多是java開(kāi)發(fā)者必備技能之一了。面試的時(shí)候被問(wèn)到,那也是正常不過(guò)了,很多人可能用來(lái)很久,但是沒(méi)有去了解原理,面試照樣掛掉。背面試題,在很大層面上還是很有用的。但從長(zhǎng)遠(yuǎn)角度來(lái)說(shuō),希望大家更深層去學(xué)習(xí)、去實(shí)踐。只有自己真的掌握,那才叫NB。

#

以上是面試回饋 Spring Cloud 的25連環(huán)砲的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

面試回饋 Spring Cloud 的25連環(huán)砲 面試回饋 Spring Cloud 的25連環(huán)砲 Aug 24, 2023 pm 03:57 PM

Spring Cloud目前相當(dāng)?shù)幕馃?,也差不多是java開(kāi)發(fā)者必備技能之一了。面試的時(shí)候被問(wèn)到,那也是正常不過(guò)了,很多人可能用來(lái)很久,但是沒(méi)有去了解原理,面試照樣掛掉。

比較與選擇指南:SpringCloud和SpringBoot的功能對(duì)比 比較與選擇指南:SpringCloud和SpringBoot的功能對(duì)比 Dec 29, 2023 pm 06:36 PM

SpringCloud和SpringBoot是目前Java領(lǐng)域中最熱門的開(kāi)源框架,它們分別提供了一套完善的微服務(wù)架構(gòu)和快速建立應(yīng)用程式的解決方案。本文將對(duì)它們的功能進(jìn)行比較,並給出選擇指南,以幫助讀者了解它們的優(yōu)勢(shì)和適用場(chǎng)景。 SpringBoot是一個(gè)用於開(kāi)發(fā)Java應(yīng)用程式的框架,它提供了一個(gè)簡(jiǎn)化的開(kāi)發(fā)流程,整合了大量常用的功能和元件,減少了開(kāi)發(fā)者的工作量

springcloud五大核心元件是哪些 springcloud五大核心元件是哪些 Jun 12, 2023 pm 03:51 PM

springcloud五大核心元件是:1、Eureka,實(shí)現(xiàn)服務(wù)治理;2、Ribbon,提供客戶側(cè)的軟體負(fù)載平衡演算法;3、Hystrix斷路器,防止一個(gè)應(yīng)用程式多次試圖執(zhí)行一個(gè)操作;4、Zuul,具有api網(wǎng)關(guān),路由,負(fù)載平衡等多種作用;5、Config,進(jìn)行設(shè)定管理。

SpringCloud-Spring?Boot?Starter使用測(cè)試實(shí)例分析 SpringCloud-Spring?Boot?Starter使用測(cè)試實(shí)例分析 May 16, 2023 am 11:10 AM

SpringBootStarter是什麼? SpringBootStarter是在SpringBoot組件中被提出來(lái)的一種概念、簡(jiǎn)化了很多煩瑣的配置、透過(guò)引入各種SpringBootStarter包可以快速搭建出一個(gè)專案的腳手架。例如我們常用的一些:spring-boot-starter-web:spring-boot-starter-data-redis:spring-boot-starter-data-mongodb:spring-boot-starter-data-jpa:spring-b

SpringCloud和SpringBoot在微服務(wù)領(lǐng)域的應(yīng)用方式的比較和分析 SpringCloud和SpringBoot在微服務(wù)領(lǐng)域的應(yīng)用方式的比較和分析 Dec 29, 2023 pm 03:45 PM

近年來(lái),隨著雲(yún)端運(yùn)算和分散式架構(gòu)的興起,微服務(wù)架構(gòu)的應(yīng)用越來(lái)越廣泛。而SpringCloud和SpringBoot作為Java開(kāi)發(fā)中的兩個(gè)重要框架,對(duì)於微服務(wù)的實(shí)作起到了重要的作用。然而,許多人對(duì)於它們?cè)谖⒎?wù)領(lǐng)域的不同應(yīng)用方式仍有一定的疑惑。本文將從不同的角度來(lái)探索SpringCloud和SpringBoot在微服務(wù)中的應(yīng)用方式。首先,讓我們來(lái)了解Spri

Idea?springboot?springCloud熱載入熱調(diào)試的常用方法有哪些 Idea?springboot?springCloud熱載入熱調(diào)試的常用方法有哪些 May 18, 2023 pm 05:43 PM

場(chǎng)景描述在專案開(kāi)發(fā)的過(guò)程中,需要修改調(diào)試的時(shí)候偶每次都需要重啟專案浪費(fèi)時(shí)間,以下是我整理的兩種常用的兩種方式一修改啟動(dòng)配置方式(主要針對(duì)debug模式下)點(diǎn)擊啟動(dòng)設(shè)定=》editconfigrations…configration下面修改Updateclassesandresourceson'update'action:當(dāng)使用者主動(dòng)執(zhí)行更新的時(shí)候更新快速鍵:Ctrl+F9onframedeactication:在編輯視窗失去焦點(diǎn)的時(shí)

springcloud和springboot有什麼差別 springcloud和springboot有什麼差別 Dec 28, 2023 pm 03:34 PM

springcloud和springboot的區(qū)別:1、作用;2、使用方式;3、創(chuàng)作初衷;4、目的;5、整合性;6、擴(kuò)展性;7、複雜性;8、社群支援;9、安全;10 、部署和運(yùn)維。詳細(xì)介紹:1、作用,Spring Boot主要的作用是為微服務(wù)開(kāi)發(fā)提供一種快速的方式,簡(jiǎn)化配置文件,提高工作效率,而Spring Cloud則是一個(gè)綜合管理框架,用於給微服務(wù)提供一個(gè)綜合管理框架等等。

從架構(gòu)角度看SpringCloud與SpringBoot的差異 從架構(gòu)角度看SpringCloud與SpringBoot的差異 Dec 29, 2023 pm 04:13 PM

從架構(gòu)角度看SpringCloud與SpringBoot的差異引言:在當(dāng)今的網(wǎng)路時(shí)代,建構(gòu)分散式系統(tǒng)已經(jīng)成為了一種必要的需求。而SpringBoot和SpringCloud正是為了滿足這個(gè)需求而誕生的。儘管它們都是Spring框架所提供的解決方案,但從架構(gòu)角度來(lái)看,它們存在著一些重要的差異。本文將從架構(gòu)的角度出發(fā),對(duì)SpringBoot和SpringCl

See all articles