偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

面試官:說一下 Nacos 的健康檢測機(jī)制?

開發(fā) 架構(gòu)
Nacos 中提供了兩種健康檢查機(jī)制:臨時(shí)實(shí)例的客戶端主動(dòng)上報(bào)機(jī)制和永久實(shí)例的服務(wù)端反向探測機(jī)制。

Spring Cloud Alibaba Nacos 作為注冊中心不止提供了服務(wù)注冊和服務(wù)發(fā)現(xiàn)功能,它還提供了服務(wù)可用性監(jiān)測的機(jī)制。有了此機(jī)制之后,Nacos 才能感知服務(wù)的健康狀態(tài),從而為服務(wù)調(diào)用者提供健康的服務(wù)實(shí)例,最終保證了業(yè)務(wù)系統(tǒng)能夠正常的執(zhí)行。

兩種健康檢查機(jī)制

Nacos 中提供了兩種健康檢查機(jī)制:

  1. 客戶端主動(dòng)上報(bào)機(jī)制。
  2. 服務(wù)器端反向探測機(jī)制。

如何理解這兩種機(jī)制呢?想象?下這么?個(gè)場景,你所在的地區(qū)突然發(fā)生地質(zhì)災(zāi)害,你被掩蓋在廢墟下面,搜救隊(duì)必須要知道你在廢墟里面,那么才能對你進(jìn)行施救。那有什么方法可以讓救援隊(duì)知道你在廢墟下面?

  • 第?種,你在廢墟里面大喊 help! help! I am here! ,讓搜救隊(duì)知道你的位置和健康狀態(tài)。
  • 第二種,搜救隊(duì)使用了他們的專業(yè)檢查設(shè)備,探測到你正埋在廢墟下面。

以上這兩種方法和 Nacos 的兩種健康檢查機(jī)制類似,也就是客戶端主動(dòng)上報(bào)機(jī)制,是客戶端每隔一段時(shí)間,主動(dòng)向 Nacos 服務(wù)器端上報(bào)自己的健康狀況,而服務(wù)器端反向探測機(jī)制是 Nacos 服務(wù)器端來檢測客戶端是否健康。

圖片

如何設(shè)置健康檢查機(jī)制?

?Nacos 中的健康檢查機(jī)制不能主動(dòng)設(shè)置,但健康檢查機(jī)制是和 Nacos 的服務(wù)實(shí)例類型強(qiáng)相關(guān)的。也就是說 Nacos 中的兩種服務(wù)實(shí)例分別對應(yīng)了兩種健康檢查機(jī)制:

  1. 臨時(shí)實(shí)例(也可以叫做非持久化實(shí)例):對應(yīng)的是客戶端主動(dòng)上報(bào)機(jī)制。
  2. 永久實(shí)例(也可以叫做持久化實(shí)例):服務(wù)端反向探測機(jī)制。

為什么需要兩種服務(wù)實(shí)例呢?以淘寶為例,雙十一大促期間,流量會比平常高出很多,此時(shí)服務(wù)肯定需要增加更多實(shí)例來應(yīng)對高并發(fā),而這些實(shí)例在雙十一之后就無需繼續(xù)使用了,采用臨時(shí)實(shí)例比較合適。而對于服務(wù)的一些常備實(shí)例,則使用永久實(shí)例更合適。

客戶端主動(dòng)上報(bào)機(jī)制

臨時(shí)實(shí)例每隔 5 秒會主動(dòng)上報(bào)一次自己的健康狀況,發(fā)送的數(shù)據(jù)包叫做心跳包,發(fā)送心跳包的機(jī)制叫做心跳機(jī)制。如果心跳包的間隔時(shí)間超過了 15 秒,那么 Nacos 服務(wù)器端就會將此服務(wù)實(shí)例標(biāo)記為非健康實(shí)例,如果心跳包超過了 30s 秒,那么 Nacos 服務(wù)器端將會把此服務(wù)實(shí)例從服務(wù)列表中刪除掉。運(yùn)行 Nacos 項(xiàng)目時(shí),可以看到客戶端主動(dòng)上報(bào)心跳包的日志,如下圖所示:

圖片

從上述圖片可以看出,Nacos 客戶端會以每 5s 一次的頻率來上報(bào)自己的健康情況,請求信息如下:

/nacos/v1/ns/instance/beat?app=unknown&namespaceId=public&port=8081&clusterName=DEFAULT&ip=192.168.3.72&serviceName=DEFAULT_GROUP@@spring-cloud-nacos-producer2?

圖片

服務(wù)端反向探測機(jī)制

永久實(shí)例使用的服務(wù)器端反向探測的方式實(shí)現(xiàn)健康檢查的,它的探測周期是 2000 毫秒 + 隨機(jī)數(shù)(5000 毫秒以內(nèi)),如果檢測異常會將此服務(wù)實(shí)例,標(biāo)記為非健康實(shí)例,但不會把服務(wù)實(shí)例向臨時(shí)實(shí)例那樣進(jìn)行刪除。Nacos 服務(wù)器反向探測目前內(nèi)置了 3 種探測協(xié)議:HTTP 探測、TCP 探測和 MySQL 探測。?般而言 HTTP 和 TCP 探測已經(jīng)可以涵蓋絕大多數(shù)的健康檢查場景,MySQL 主要用于特殊的業(yè)務(wù)場景,例如數(shù)據(jù)庫的主備需要通過服務(wù)名對外提供訪問,需要確定當(dāng)前訪問數(shù)據(jù)庫是否為主庫時(shí),那么我們此時(shí)的健康檢查接口,是?個(gè)檢查數(shù)據(jù)庫是否為主庫的 MySQL 命令。

圖片

TCP 探測

默認(rèn)情況下,永久實(shí)例使用的是 TCP 探測,這點(diǎn)可以在 Nacos 控制臺觀察到,如下圖所示:

圖片

默認(rèn)會使用 IP端口來檢查,如下圖所示:

圖片

TCP 探測的大體邏輯是通過與注冊實(shí)例建立 channel,不斷 ping 注冊實(shí)例的端口,來判斷實(shí)例是否健康。

HTTP 探測

HTTP 探測需要在 Nacos 控制臺手動(dòng)配置,如下圖所示:

圖片

我們在服務(wù)實(shí)例中添加探測接口的實(shí)現(xiàn)代碼:

圖片

此時(shí)我們重新啟動(dòng)服務(wù)實(shí)例,在服務(wù)詳情中可以看到我們配置的 HTTP 探測已經(jīng)生效了,可以檢查出實(shí)例是健康的,如下圖所示:

圖片

Nacos 服務(wù)器端通過檢查 HTTP 的接口是否返回 200 狀態(tài)碼,來判斷實(shí)例是否為健康狀態(tài)。

集群下的健康檢查機(jī)制

集群下的健康檢查機(jī)制可以用一句話來概括,那就是“各司其職”。每個(gè)服務(wù)對應(yīng)了一個(gè)主注冊中心,當(dāng)注冊中心接收到臨時(shí)實(shí)例的心跳包之后,將健康狀態(tài)同步給其他注冊中心。而永久實(shí)例也是類似的,每個(gè)服務(wù)對應(yīng)了一個(gè)主注冊中心,當(dāng)負(fù)責(zé)的注冊中心探測到服務(wù)實(shí)例的健康狀態(tài)發(fā)生改變時(shí),再會將實(shí)例的健康狀況同步到其他注冊中心,從而實(shí)現(xiàn)了集群下的健康檢查機(jī)制。

圖片

總結(jié)

Nacos 中提供了兩種健康檢查機(jī)制:臨時(shí)實(shí)例的客戶端主動(dòng)上報(bào)機(jī)制和永久實(shí)例的服務(wù)端反向探測機(jī)制。臨時(shí)實(shí)例每隔 5s 發(fā)送一個(gè)心跳包給 Nacos 服務(wù)器端,服務(wù)器端接收到心跳包之后再將健康狀況同步給其他注冊中心。永久實(shí)例支持 3 種探測協(xié)議,TCP、HTTP 和 MySQL,默認(rèn)探測協(xié)議為 TCP,也就是通過不斷 ping 的方式來判斷實(shí)例是否健康。

責(zé)任編輯:姜華 來源: Java中文社群
相關(guān)推薦

2023-09-12 14:56:13

MyBatis緩存機(jī)制

2021-07-28 10:08:19

類加載代碼塊面試

2025-03-10 07:05:07

2022-06-06 15:33:20

線程Java釋放鎖

2022-06-07 12:03:33

Java內(nèi)存模型

2023-02-08 08:32:41

輪詢鎖

2023-12-29 13:45:00

2024-01-29 10:08:11

零拷貝Zero-copyCPU 拷貝

2024-02-21 16:42:00

2024-02-27 15:23:48

RedLock算法Redis

2020-07-30 07:58:36

加密算法

2023-01-30 15:39:40

GETHTTP

2021-06-02 11:25:18

線程池Java代碼

2021-11-27 08:13:13

Final 面試

2023-11-29 08:00:53

JavaTreeMap底層

2022-09-27 21:14:54

Spring事務(wù)傳播機(jī)制

2021-11-08 15:59:01

MyBatis關(guān)聯(lián)開發(fā)

2021-08-28 09:06:11

Dubbo架構(gòu)服務(wù)

2023-03-08 07:46:53

面試官優(yōu)化結(jié)構(gòu)體

2021-08-13 07:23:15

架構(gòu)秒殺系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號