面試Spring Cloud 問了我35個(gè)問題弛秋,全部分享出來!

?對(duì)于目前來說牵现,微服務(wù)已經(jīng)是程序員必會(huì)的技能之一了铐懊。Spring Cloud 作為一個(gè)優(yōu)質(zhì)的微服務(wù)框架,已經(jīng)被很多公司使用瞎疼。以下小編給大家整理35道Spring Cloud 的知識(shí)點(diǎn)科乎,或者說是面試題都不沖突。后續(xù)還會(huì)繼續(xù)更新?? ?

1.什么是SpringCloud?

Spring Cloud為開發(fā)人員提供了工具贼急,以快速構(gòu)建分布式系統(tǒng)中的一些常見模式(例如茅茂,配置管理,服務(wù)發(fā)現(xiàn)太抓,斷路器空闲,智能路由,微代理走敌,控制總線碴倾,一次性令牌,全局鎖,領(lǐng)導(dǎo)選舉跌榔,分布式會(huì)話异雁,群集狀態(tài))。它們可以在任何分布式環(huán)境中正常工作僧须,包括開發(fā)人員自己的筆記本電腦纲刀,裸機(jī)數(shù)據(jù)中心以及Cloud Foundry等托管平臺(tái)。

2.什么是微服務(wù)担平?

所謂的微服務(wù)是SOA架構(gòu)下的最終產(chǎn)物示绊,該架構(gòu)的設(shè)計(jì)目標(biāo)是為了肢解業(yè)務(wù),使得服務(wù)能夠獨(dú)立運(yùn)行暂论。微服務(wù)設(shè)計(jì)原則:

1面褐、各司其職 。

2空另、服務(wù)高可用和可擴(kuò)展性盆耽。

3.SpringCloud有哪些特征?

Spring Cloud專注于為典型的用例和可擴(kuò)展性機(jī)制(包括其他用例)提供良好的開箱即用體驗(yàn)。

  • 分布式/版本化配置

  • 服務(wù)注冊(cè)和發(fā)現(xiàn)

  • 路由

  • 服務(wù)到服務(wù)的調(diào)用

  • 負(fù)載均衡

  • 斷路器

  • 全局鎖

  • 領(lǐng)導(dǎo)選舉和集群狀態(tài)

  • 分布式消息傳遞

4.SpringCloud核心組件?

Eureka : 注冊(cè)中心

Ribbon :客服端負(fù)載均衡

Hystrix : 服務(wù)容錯(cuò)處理

Feign: 聲明式REST客戶端

Zuul : 服務(wù)網(wǎng)關(guān)

Config : 分布式配置

5.SpringCloud基于什么協(xié)議扼菠?

HTTP

6.SpringCloud和Dubbo區(qū)別?

image

7.Eureka是什么?

云端服務(wù)發(fā)現(xiàn)坝咐,一個(gè)基于 REST 的服務(wù)循榆,用于定位服務(wù),以實(shí)現(xiàn)云端中間層服務(wù)發(fā)現(xiàn)和故障轉(zhuǎn)移墨坚。

8.服務(wù)治理的基礎(chǔ)角色秧饮?

服務(wù)注冊(cè)中心:提供服務(wù)注冊(cè)與發(fā)現(xiàn)的能力。

服務(wù)提供者:提供服務(wù)的應(yīng)用泽篮,會(huì)把自己提供的服務(wù)注冊(cè)到注冊(cè)中心盗尸。

服務(wù)消費(fèi)者:服務(wù)的消費(fèi)者,從注冊(cè)中心獲取服務(wù)列表帽撑。

9.什么是服務(wù)續(xù)約泼各?

在注冊(cè)完服務(wù)以后,服務(wù)提供者會(huì)維護(hù)一個(gè)心跳來向注冊(cè)中心證明自己還活著亏拉,以此防止被“剔除服務(wù)”扣蜻。

10.什么是服務(wù)下線?

當(dāng)服務(wù)實(shí)例進(jìn)行正常關(guān)閉時(shí)及塘,會(huì)發(fā)送一個(gè)REST請(qǐng)求(我要下線了)給注冊(cè)中心莽使,收到請(qǐng)求后,將該服務(wù)狀態(tài)設(shè)置下線(DOWN)笙僚,并把這事件傳播出去芳肌。

11.什么是失效剔除?

當(dāng)服務(wù)非正常下線時(shí),可能服務(wù)注冊(cè)中心沒有收到下線請(qǐng)求亿笤,注冊(cè)中心會(huì)創(chuàng)建一個(gè)定時(shí)任務(wù)(默認(rèn)60s)將沒有在固定時(shí)間(默認(rèn)90s)內(nèi)續(xù)約的服務(wù)剔除掉翎迁。

12.什么是自我保護(hù)機(jī)制?

在運(yùn)行期間责嚷,注冊(cè)中心會(huì)統(tǒng)計(jì)心跳失敗比例在15分鐘之內(nèi)是否低于85%,如果低于的情況鸳兽,注冊(cè)中心會(huì)將當(dāng)前注冊(cè)實(shí)例信息保護(hù)起來,不再刪除這些實(shí)例信息罕拂,當(dāng)網(wǎng)絡(luò)恢復(fù)后揍异,退出自我保護(hù)機(jī)制。

自我保護(hù)機(jī)制讓服務(wù)集群更穩(wěn)定爆班、健壯衷掷。

13.Ribbon是什么?

提供云端負(fù)載均衡,有多種負(fù)載均衡策略可供選擇柿菩,可配合服務(wù)發(fā)現(xiàn)和斷路器使用戚嗅。

14.Ribbon負(fù)載均衡的注解是?

@LoadBalanced

15.Ribbon負(fù)載均衡策略有哪些?

RandomRule : 隨機(jī)枢舶。

RoundRobinRule : 輪詢懦胞。

RetryRule : 重試。

WeightedResponseTimeRule : 權(quán)重凉泄。

ClientConfigEnabledRoundRobinRule : 一般不用躏尉,通過繼承該策略,默認(rèn)的choose就實(shí)現(xiàn)了線性輪詢機(jī)制后众≌兔樱可以基于它來做擴(kuò)展。

BestAvailableRule : 通過便利負(fù)載均衡器中維護(hù)的所有服務(wù)實(shí)例蒂誉,會(huì)過濾到故障的教藻,并選擇并發(fā)請(qǐng)求最小的一個(gè)。

PredicateBasedRule : 先過濾清單右锨,再輪詢括堤。

AvailabilityFilteringRule :繼承了父類的先過濾清單,再輪詢陡蝇。調(diào)整了算法痊臭。

ZoneAvoidanceRule : 該類也是PredicateBasedRule的子類,它可以組合過濾條件登夫。以ZoneAvoidancePredicate為主過濾條件广匙,以AvailabilityPredicate為次過濾條件。

16.什么是服務(wù)熔斷恼策?

服務(wù)熔斷的作用類似于我們家用的保險(xiǎn)絲鸦致,當(dāng)某服務(wù)出現(xiàn)不可用或響應(yīng)超時(shí)的情況時(shí)潮剪,為了防止整個(gè)系統(tǒng)出現(xiàn)雪崩,暫時(shí)停止對(duì)該服務(wù)的調(diào)用分唾。

17.什么是服務(wù)降級(jí)抗碰?

服務(wù)降級(jí)是當(dāng)服務(wù)器壓力劇增的情況下,根據(jù)當(dāng)前業(yè)務(wù)情況及流量對(duì)一些服務(wù)和頁(yè)面有策略的降級(jí)绽乔,以此釋放服務(wù)器資源以保證核心任務(wù)的正常運(yùn)行弧蝇。

18.什么是Hystrix?

熔斷器,容錯(cuò)管理工具折砸,旨在通過熔斷機(jī)制控制服務(wù)和第三方庫(kù)的節(jié)點(diǎn),從而對(duì)延遲和故障提供更強(qiáng)大的容錯(cuò)能力看疗。

19.斷路器Hystrix的有哪些功能?

  • 通過第三方客戶端訪問依賴服務(wù)出現(xiàn)高延遲或者失敗時(shí),為系統(tǒng)提供保護(hù)和控制 睦授。

  • 在復(fù)雜的分布式系統(tǒng)中防止級(jí)聯(lián)失敗(服務(wù)雪崩效應(yīng)) 两芳。

  • 快速失敗 (Failfast) 同時(shí)能快速恢復(fù)。

  • 提供失敗回滾 (Fallback) 和優(yōu)雅的服務(wù)降級(jí)機(jī)制去枷。

  • 提供近實(shí)時(shí)的監(jiān)控怖辆、 報(bào)警和運(yùn)維控制手段。

20.Hystrix將遠(yuǎn)程調(diào)用封裝到删顶?

HystrixCommand 或者 HystrixObservableCommand對(duì)象中竖螃。

21.啟動(dòng)熔斷降級(jí)服務(wù)的注解?

@EnableHystrix

22.什么是Feign?

Feign是一種聲明式逗余、模板化的HTTP客戶端斑鼻。

23.Feign優(yōu)點(diǎn)?

1.feign采用的是基于接口的注解猎荠。2.feign整合了ribbon,具有負(fù)載均衡的能力蜀备。3.整合了Hystrix关摇,具有熔斷的能力。

24.什么是Config?

配置管理工具包碾阁,讓你可以把配置放到遠(yuǎn)程服務(wù)器输虱,集中化管理集群配置,目前支持本地存儲(chǔ)脂凶、Git以及Subversion宪睹。

25.Config組件中的兩個(gè)角色?

Config Server : 配置中心服務(wù)端。

Config Client : 配置中心客戶端蚕钦。

26.什么是Zuul?

Zuul 是在云平臺(tái)上提供動(dòng)態(tài)路由,監(jiān)控,彈性,安全等邊緣服務(wù)的框架亭病。Zuul 相當(dāng)于是設(shè)備和 Netflix 流應(yīng)用的 Web 網(wǎng)站后端所有請(qǐng)求的前門。

27.使用Zuul的優(yōu)點(diǎn)?

  • 方便監(jiān)控嘶居∽锾可以在微服務(wù)網(wǎng)管手機(jī)監(jiān)控?cái)?shù)據(jù)并將其推送到外部系統(tǒng)進(jìn)行分析。

  • 方便認(rèn)證≌可在網(wǎng)關(guān)進(jìn)行統(tǒng)一認(rèn)證菠齿,然后在講請(qǐng)求轉(zhuǎn)發(fā)到后端服務(wù)。

  • 隱藏架構(gòu)實(shí)現(xiàn)細(xì)節(jié)坐昙,提供統(tǒng)一的入口給客戶端請(qǐng)求绳匀,減少了客戶端和每個(gè)微服務(wù)的交互次數(shù)。

  • 可以統(tǒng)一處理切面任務(wù)炸客,避免每個(gè)微服務(wù)自己開發(fā)疾棵,提升效率。

  • 高可用高伸縮性的服務(wù)嚷量,避免單點(diǎn)失效陋桂。

28.Zuul的核心是?

過濾器蝶溶。

29.Zuul有幾種過濾器類型嗜历?分別是?

4種抖所。

pre : 可以在請(qǐng)求被路由之前調(diào)用梨州。

適用于身份認(rèn)證的場(chǎng)景,認(rèn)證通過后再繼續(xù)執(zhí)行下面的流程田轧。

route : 在路由請(qǐng)求時(shí)被調(diào)用暴匠。

適用于灰度發(fā)布場(chǎng)景,在將要路由的時(shí)候可以做一些自定義的邏輯傻粘。

post :在 route 和 error 過濾器之后被調(diào)用每窖。

這種過濾器將請(qǐng)求路由到達(dá)具體的服務(wù)之后執(zhí)行。適用于需要添加響應(yīng)頭弦悉,記錄響應(yīng)日志等應(yīng)用場(chǎng)景窒典。

error : 處理請(qǐng)求時(shí)發(fā)生錯(cuò)誤時(shí)被調(diào)用。

在執(zhí)行過程中發(fā)送錯(cuò)誤時(shí)會(huì)進(jìn)入 error 過濾器稽莉,可以用來統(tǒng)一記錄錯(cuò)誤信息瀑志。

30.什么是Sleuth?

日志收集工具包,封裝了Dapper和log-based追蹤以及Zipkin和HTrace操作污秆,為SpringCloud應(yīng)用實(shí)現(xiàn)了一種分布式追蹤解決方案劈猪。

31.Sleuth幫助我們做了哪些工作?

  • 可以方便的了解到每個(gè)采樣的請(qǐng)求耗時(shí)良拼,分析出哪些服務(wù)調(diào)用比較耗時(shí)战得。

  • 對(duì)于程序未捕捉的異常,可以在集成Zipkin服務(wù)頁(yè)面上看到将饺。

  • 識(shí)別調(diào)用比較頻繁的服務(wù)贡避,從而進(jìn)行優(yōu)化痛黎。

32.什么是Bus?

事件、消息總線刮吧,用于在集群(例如湖饱,配置變化事件)中傳播狀態(tài)變化,可與Spring Cloud Config聯(lián)合實(shí)現(xiàn)熱部署杀捻。

**33.eureka比zookeeper的優(yōu)勢(shì)在井厌?****

A:高可用 C:一致性,P:分區(qū)容錯(cuò)性

Zookeeper保證了CP致讥,Eureka保證了AP仅仆。

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

34.什么是Stream?

數(shù)據(jù)流操作開發(fā)包墓拜,封裝了與Redis,Rabbit、Kafka等發(fā)送接收消息请契。

35.你還知道哪些微服務(wù)框架咳榜?

Dubbo Motan Tars gRPC Thrift

參考:

《Spring Cloud微服務(wù)實(shí)戰(zhàn)》

《Spring Cloud微服務(wù)全棧技術(shù)與案例解析》

《Spring Cloud微服務(wù)架構(gòu)開發(fā)實(shí)戰(zhàn)》

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市爽锥,隨后出現(xiàn)的幾起案子涌韩,更是在濱河造成了極大的恐慌,老刑警劉巖氯夷,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件臣樱,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡腮考,警方通過查閱死者的電腦和手機(jī)雇毫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來踩蔚,“玉大人嘴拢,你說我怎么就攤上這事〖偶停” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵赌结,是天一觀的道長(zhǎng)捞蛋。 經(jīng)常有香客問我,道長(zhǎng)柬姚,這世上最難降的妖魔是什么拟杉? 我笑而不...
    開封第一講書人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮量承,結(jié)果婚禮上搬设,老公的妹妹穿的比我還像新娘穴店。我一直安慰自己,他們只是感情好拿穴,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開白布泣洞。 她就那樣靜靜地躺著,像睡著了一般默色。 火紅的嫁衣襯著肌膚如雪球凰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,185評(píng)論 1 284
  • 那天腿宰,我揣著相機(jī)與錄音呕诉,去河邊找鬼。 笑死吃度,一個(gè)胖子當(dāng)著我的面吹牛甩挫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播椿每,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼伊者,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了拖刃?” 一聲冷哼從身側(cè)響起删壮,我...
    開封第一講書人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎兑牡,沒想到半個(gè)月后央碟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡均函,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年亿虽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片苞也。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡洛勉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出如迟,到底是詐尸還是另有隱情收毫,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布殷勘,位于F島的核電站,受9級(jí)特大地震影響玲销,放射性物質(zhì)發(fā)生泄漏输拇。R本人自食惡果不足惜贤斜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一逛裤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧猴抹,春花似錦带族、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)拍霜。三九已至,卻和暖如春薪介,著一層夾襖步出監(jiān)牢的瞬間祠饺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來泰國(guó)打工汁政, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留道偷,地道東北人记劈。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像目木,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子刽射,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容

  • 點(diǎn)贊再看,養(yǎng)成習(xí)慣誓禁,微信搜一搜 【碼農(nóng)清風(fēng)】 共勉進(jìn)階之路!本文 GitHub https://github.co...
    老王420閱讀 420評(píng)論 0 0
  • 微服務(wù)相關(guān): 1.什么是微服務(wù)摹恰? 1.微服務(wù)是一種架構(gòu)模式或是一種架構(gòu)風(fēng)格,它提倡的是將單一的應(yīng)用程序劃分成若干個(gè)...
    久伴_不離閱讀 3,378評(píng)論 0 3
  • 久違的晴天俗慈,家長(zhǎng)會(huì)。 家長(zhǎng)大會(huì)開好到教室時(shí)姜盈,離放學(xué)已經(jīng)沒多少時(shí)間了配阵。班主任說已經(jīng)安排了三個(gè)家長(zhǎng)分享經(jīng)驗(yàn)馏颂。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,496評(píng)論 16 22
  • 今天感恩節(jié)哎,感謝一直在我身邊的親朋好友难审。感恩相遇!感恩不離不棄亿絮。 中午開了第一次的黨會(huì),身份的轉(zhuǎn)變要...
    迷月閃星情閱讀 10,551評(píng)論 0 11
  • 可愛進(jìn)取黔姜,孤獨(dú)成精。努力飛翔蒂萎,天堂翱翔。戰(zhàn)爭(zhēng)美好五慈,孤獨(dú)進(jìn)取。膽大飛翔泻拦,成就輝煌。努力進(jìn)取争拐,遙望腋粥,和諧家園÷酱恚可愛游走...
    趙原野閱讀 2,716評(píng)論 1 1