国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微服務常見面試題解析、問題說明及參考話術(shù),實用干貨

這篇具有很好參考價值的文章主要介紹了微服務常見面試題解析、問題說明及參考話術(shù),實用干貨。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、SpringCloud常見組件有哪些?

1.1 問題說明

這個題目主要考察對SpringCloud的組件基本了解

1.2 難易程度

簡單

1.3 參考話術(shù)

SpringCloud包含的組件很多,有很多功能是重復的。

其中最常用組件包括:

注冊中心組件:Eureka、Nacos等

負載均衡組件:Ribbon

遠程調(diào)用組件:OpenFeign

網(wǎng)關(guān)組件:Zuul、Gateway

服務保護組件:Hystrix、Sentinel

服務配置管理組件:SpringCloudConfig、Nacos

二、Nacos的服務注冊表結(jié)構(gòu)是怎樣的?

2.1 問題解析

要了解Nacos的服務注冊表結(jié)構(gòu),需要從兩方面入手:

一是Nacos的分級存儲模型

二是Nacos的服務端源碼

微服務常見面試題解析、問題說明及參考話術(shù),實用干貨,Java,分布式,微服務,java,面試

2.2?問題說明

考察對Nacos數(shù)據(jù)分級結(jié)構(gòu)的了解,以及Nacos源碼的掌握情況

2.3 難易程度

一般

2.4 參考話術(shù)

Nacos采用了數(shù)據(jù)的分級存儲模型。

最外層是Namespace,用來隔離環(huán)境。

然后是Group,用來對服務分組。

接下來就是服務(Service)了,一個服務包含多個實例,但是可能處于不同機房,因此Service下有多個集群(Cluster),Cluster下是不同的實例(Instance)。


對應到Java代碼中,Nacos采用了一個多層的Map來表示。結(jié)構(gòu)為Map<String, Map<String, Service>>,其中最外層Map的key就是namespaceId,值是一個Map。

內(nèi)層Map的key是group拼接serviceName,值是Service對象。

Service對象內(nèi)部又是一個Map,key是集群名稱,值是Cluster對象。而Cluster對象內(nèi)部維護了Instance的集合。

三、Nacos如何支撐數(shù)十萬服務注冊壓力?

3.1 問題說明

考察對Nacos源碼的掌握情況

3.2 難易程度

3.3 參考話術(shù)

Nacos內(nèi)部接收到注冊的請求時,不會立即寫數(shù)據(jù),而是將服務注冊的任務放入一個阻塞隊列就立即響應給客戶端。然后利用線程池讀取阻塞隊列中的任務,異步來完成實例更新,從而提高并發(fā)寫能力。

四、Nacos如何避免并發(fā)讀寫沖突問題?

4.1 問題說明

考察對Nacos源碼的掌握情況

4.2 難易程度

4.3 參考話術(shù)

Nacos在更新實例列表時,會采用CopyOnWrite技術(shù),首先將舊的實例列表拷貝一份,然后更新拷貝的實例列表,再用更新后的實例列表來覆蓋舊的實例列表。

這樣在更新的過程中,就不會對讀實例列表的請求產(chǎn)生影響,也不會出現(xiàn)臟讀問題了。

五、Nacos與Eureka的區(qū)別有哪些?

5.1 問題說明

考察對Nacos、Eureka的底層實現(xiàn)的掌握情況

5.2 難易程度

5.3 參考話術(shù)

Nacos與Eureka有相同點,也有不同之處,可以從以下幾點來描述:

接口方式:Nacos與Eureka都對外暴露了Rest風格的API接口,用來實現(xiàn)服務注冊、發(fā)現(xiàn)等功能

實例類型:Nacos的實例有永久和臨時實例之分;而Eureka只支持臨時實例

健康檢測:Nacos對臨時實例采用心跳模式檢測,對永久實例采用主動請求來檢測;Eureka只支持心跳模式

服務發(fā)現(xiàn):Nacos支持定時拉取和訂閱推送兩種模式;Eureka只支持定時拉取模式

六、Sentinel的限流與Gateway的限流有什么差別?

6.1 問題說明

考察對線程隔離方案的掌握情況

6.2 難易程度

一般

6.3 參考話術(shù)

Hystix默認是基于線程池實現(xiàn)的線程隔離,每一個被隔離的業(yè)務都要創(chuàng)建一個獨立的線程池,線程過多會帶來額外的CPU開銷,性能一般,但是隔離性更強。

Sentinel是基于信號量(計數(shù)器)實現(xiàn)的線程隔離,不用創(chuàng)建線程池,性能較好,但是隔離性一般。

七、Sentinel的線程隔離與Hystix的線程隔離有什么差別?

?7.1 問題解析

限流:對應用服務器的請求做限制,避免因過多請求而導致服務器過載甚至宕機。

限流算法常見的包括兩種:

  1. 計數(shù)器算法,又包括窗口計數(shù)器算法、滑動窗口計數(shù)器算法
  2. 令牌桶算法(Token Bucket)
  3. 漏桶算法(Leaky Bucket)

?7.1.1 固定窗口計數(shù)器算法

  • 將時間劃分為多個窗口,窗口時間跨度稱為Interval,本例中為1000ms;
  • 每個窗口維護一個計數(shù)器,每有一次請求就將計數(shù)器加一,限流就是設置計數(shù)器閾值,本例為3
  • 如果計數(shù)器超過了限流閾值,則超出閾值的請求都被丟棄。

?微服務常見面試題解析、問題說明及參考話術(shù),實用干貨,Java,分布式,微服務,java,面試

?7.1.2 滑動窗口計數(shù)器算法

滑動窗口計數(shù)器算法會將一個窗口劃分為n個更小的區(qū)間,例如

  • 窗口時間跨度Interval為1秒;區(qū)間數(shù)量 n = 2 ,則每個小區(qū)間時間跨度為500ms
  • 限流閾值依然為3,時間窗口(1秒)內(nèi)請求超過閾值時,超出的請求被限流
  • 窗口會根據(jù)當前請求所在時間(currentTime)移動,窗口范圍是從(currentTime-Interval)之后的第一個時區(qū)開始,到currentTime所在時區(qū)結(jié)束。

微服務常見面試題解析、問題說明及參考話術(shù),實用干貨,Java,分布式,微服務,java,面試

7.1.3 令牌桶算法

令牌桶算法說明:

  • 以固定的速率生成令牌,存入令牌桶中,如果令牌桶滿了以后,多余令牌丟棄
  • 請求進入后,必須先嘗試從桶中獲取令牌,獲取到令牌后才可以被處理
  • 如果令牌桶中沒有令牌,則請求等待或丟棄

?微服務常見面試題解析、問題說明及參考話術(shù),實用干貨,Java,分布式,微服務,java,面試

?7.1.4?漏桶算法?

漏桶算法說明:

  • 將每個請求視作"水滴"放入"漏桶"進行存儲;
  • "漏桶"以固定速率向外"漏"出請求來執(zhí)行,如果"漏桶"空了則停止"漏水”;
  • 如果"漏桶"滿了則多余的"水滴"會被直接丟棄,可以理解成請求在桶內(nèi)排隊等待

微服務常見面試題解析、問題說明及參考話術(shù),實用干貨,Java,分布式,微服務,java,面試

Sentinel在實現(xiàn)漏桶時,采用了排隊等待模式:

讓所有請求進入一個隊列中,然后按照閾值允許的時間間隔依次執(zhí)行。并發(fā)的多個請求必須等待,預期的等待時長 = 最近一次請求的預期等待時間 + ?允許的間隔。

如果請求預期的等待時間超出最大時長,則會被拒絕。

例如:

QPS = 5,意味著每200ms處理一個隊列中的請求;

timeout = 2000,意味著預期等待超過2000ms的請求會被拒絕并拋出異常

微服務常見面試題解析、問題說明及參考話術(shù),實用干貨,Java,分布式,微服務,java,面試

?7.1.5?限流算法對比

微服務常見面試題解析、問題說明及參考話術(shù),實用干貨,Java,分布式,微服務,java,面試

7.2 問題說明

考察對限流算法的掌握情況

7.3 難易程度

7.4 參考話術(shù)

限流算法常見的有三種實現(xiàn):

滑動時間窗口、令牌桶算法、漏桶算法。

Gateway則采用了基于Redis實現(xiàn)的令牌桶算法。

而Sentinel內(nèi)部卻比較復雜:文章來源地址http://www.zghlxwxcb.cn/news/detail-830368.html

  • 默認限流模式是基于滑動時間窗口算法
  • 排隊等待的限流模式則基于漏桶算法
  • 而熱點參數(shù)限流則是基于令牌桶算法

到了這里,關(guān)于微服務常見面試題解析、問題說明及參考話術(shù),實用干貨的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 后端面試話術(shù)集錦第 十 篇:springMVC面試話術(shù)

    這是后端面試集錦第十篇博文—— springMVC 面試話術(shù)??? springmvc 是一個視圖層框架,通過 MVC 模型讓我們很方便的接收和處理請求和響應。 我給你說說他里邊的幾個核心組件吧: 它的核心控制器是 DispatcherServlet ,他的作用是接收用戶請求,然后給用戶反饋結(jié)果。它相當于

    2024年02月10日
    瀏覽(43)
  • 后端面試話術(shù)集錦第 十一 篇:mybatis面試話術(shù)

    這是后端面試集錦第十一篇博文—— mybatis 面試話術(shù)??? Mybatis 是一個半 ORM (對象關(guān)系映射)的持久層框架,它內(nèi)部封裝了 JDBC ,開發(fā)時只需要關(guān)注 SQL 語句本身,不需要花費精力去處理加載驅(qū)動、創(chuàng)建連接、創(chuàng)建 statement 等繁雜的過程,使用時直接編寫原生態(tài) sql 。 優(yōu)點

    2024年02月10日
    瀏覽(23)
  • 后端面試話術(shù)集錦第四篇:ElasticSearch面試話術(shù)

    這是后端面試集錦第四篇博文—— ElasticSearch 面試話術(shù)??? ? Java 開發(fā)的 lucene 分布式全文搜索引擎,基于 restful Web 接口,它在檢索領(lǐng)域相當優(yōu)秀。 在我們項目中主要是負責檢索商品信息。商品信息構(gòu)成是比較復雜的,并且數(shù)據(jù)量巨大,至少會有幾十萬,如果使用 mysql 做

    2024年02月10日
    瀏覽(20)
  • 后端面試話術(shù)集錦第 八 篇:redis面試話術(shù)

    這是后端面試集錦第八篇博文—— redis 面試話術(shù)??? Redis 是一個非關(guān)系數(shù)據(jù)庫,我們項目中主要用它來存儲熱點數(shù)據(jù)的,減輕數(shù)據(jù)庫的壓力,單線程純內(nèi)存操作,采用了非阻塞 IO 多路復用機制,就是單線程監(jiān)聽,我們項目中使用 springdata-redis 來操作 redis 。 我們項目中使

    2024年02月10日
    瀏覽(20)
  • 后端面試話術(shù)集錦第 七 篇:nginx面試話術(shù)

    這是后端面試集錦第七篇博文—— nginx 面試話術(shù)??? Nginx 是一個高性能的 HTTP 和反向代理服務器,具有反向代理和負載均衡以及動靜分離等功能。 我先說說 Nginx 反向代理吧: 反向代理是指以代理服務器來接受用戶的請求,然后將請求分發(fā)給內(nèi)部網(wǎng)絡上的服務器,并將從

    2024年02月10日
    瀏覽(27)
  • 后端面試話術(shù)集錦第五篇:rabbitmq面試話術(shù)

    這是后端面試集錦第五篇博文—— rabbitmq 面試話術(shù)??? RabbitMQ 是 Erlang 語言開發(fā)的基于 AMQP 的一款消息中間件,核心思想是生產(chǎn)者不會將消息直接發(fā)送給隊列,消息在發(fā)送給客戶端時先發(fā)送給交換機,然后由交換機轉(zhuǎn)發(fā)給對應的隊列。 它對路由( Routing ),負載均衡( Load b

    2024年02月10日
    瀏覽(22)
  • 后端面試話術(shù)集錦第 十五 篇:java線程面試話術(shù)

    這是后端面試集錦第十五篇博文—— java 線程面試話術(shù)??? 首先呢, Thread 類本質(zhì)上是實現(xiàn)了 Runnable 接口,代表一個線程的實例。 所以, 我們可以編寫一個類,繼承Thread類,或者直接實現(xiàn)Runnable接口 。然后,再重寫下~run方法就行了。啟動線程的方式就是調(diào)用類里邊的 s

    2024年02月10日
    瀏覽(22)
  • 后端面試話術(shù)集錦第三篇:spring cloud 面試話術(shù)

    后端面試話術(shù)集錦第三篇:spring cloud 面試話術(shù)

    這是后端面試集錦第三篇博文—— spring cloud 面試話術(shù)??? Spring Cloud 是一系列框架的集合,它利用 Spring Boot 的開發(fā)便利性簡化了分布式系統(tǒng)的開發(fā),比如服務發(fā)現(xiàn)、服務網(wǎng)關(guān)、服務路由、鏈路追蹤等。 他的設計目的是為了簡化 Spring 應用的搭建和開發(fā)過程。 該框架遵循

    2024年02月11日
    瀏覽(25)
  • 后端面試話術(shù)集錦第 九 篇:Activiti工作流面試話術(shù)

    這是后端面試集錦第九篇博文—— Activiti 工作流面試話術(shù)??? 工作流這塊兒,實際在工作中使用的時候, Activiti 用的居多,當然還有一些其他的工作流引擎。 在網(wǎng)上看了也大概看了一下,其他的像 JBPM 以及 workflow 等用的情況來講不是很多。 所以說 Activiti 目前來講用的比

    2024年02月10日
    瀏覽(22)
  • 前端面試話術(shù)集錦第一篇

    這是記錄 前端面試的話術(shù)集錦第1篇博文——基礎篇一 ,我會不斷更新前端面試話術(shù)的博文。??? 合理的 title 、 description 、 keywords ,搜索對著三項的權(quán)重逐個減?: title :值強調(diào)重點即可,重要出現(xiàn)不要超過 2 次,?且要靠前,不同?? title 要有所不同 descript

    2024年02月11日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包