91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么掌握SpringBoot-2.3的容器探針

發布時間:2021-10-12 13:57:41 來源:億速云 閱讀:158 作者:柒染 欄目:云計算

今天就跟大家聊聊有關怎么掌握SpringBoot-2.3的容器探針,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

探針特性的官方信息

  • 如下圖紅框所示,2.3版本的容器探針特性早在預覽版(v2.3.0.M4)就已經發布: 怎么掌握SpringBoot-2.3的容器探針

  • 如今v2.3.0.RELEASE已發布,可以放心的學習和使用該特性了,首先把基礎知識點列出來,確保準備工作OK;

知識點整理

下面是掌握探針技術所需的基礎知識,也是本文的主要內容:

  1. kubernetes的存活探針<font color="blue">livenessProbe</font>;

  2. kubernetes的就緒探針<font color="blue">readinessProbe</font>;

  3. SpringBoot的<font color="blue">actuator</font>;

接下來逐個學習,有了這些知識積累,我們才能更好的閱讀官方資料,開發適合自己業務場景的探針;

kubernetes的存活探針livenessProbe

  1. kubernetes的探針涉及的內容是很多的,這里只提和SpringBoot相關的部分;

  2. kubelet 使用存活探針<font color="blue">livenessProbe</font>來知道什么時候要重啟容器;

  3. 下圖是kubernetes官網的存活探針示例,幾個關鍵參數已經做了詳細說明:

怎么掌握SpringBoot-2.3的容器探針

  1. 可見如果我們的SpringBoot應用發布到kubernetes環境,只要應用還健康,livenessProbe對應的地址就要能響應200-400的返回碼;

kubernetes的就緒探針readinessProbe

  1. 有時候,應用程序會暫時性的不能提供通信服務。例如,應用程序在啟動時可能需要加載很大的數據或配置文件,或是啟動后要依賴等待外部服務。在這種情況下,既不想殺死應用程序,也不想給它發送請求。Kubernetes 提供了就緒探測器來發現并緩解這些情況。容器所在 Pod 上報還未就緒的信息,并且不接受通過 Kubernetes Service 的流量。

  2. 就緒探測器的配置和存活探測器的配置相似,唯一區別就是要使用 <font color="blue">readinessProbe</font>字段,而不是 livenessProbe 字段;

  3. 簡單的說,就緒探針正常的容器,k8s就認為是可以對外提供服務的,相應的請求也會被調度到該容器上來;

SpringBoot的actuator

  1. 簡單來說,actuator是用來幫助用戶監控和操作SprinBoot應用的,這些監控和操作都可以通過http請求實現,如下圖,http://localhost:8080/actuator/health 地址返回的是應用的健康狀態:

怎么掌握SpringBoot-2.3的容器探針

  1. 下面是常用的actuator地址,訪問不同的地址可以得到不同的信息:

怎么掌握SpringBoot-2.3的容器探針

  1. 在SpringBoot-2.3版本中,actuator新增了兩個地址:<font color="red">/actuator/health/liveness</font>和<font color="red">/actuator/health/readiness</font>,前者用作kubernetes的<font color="blue">存活探針</font>,后者用作kubernetes的<font color="blue">就緒探針</font>;

畫外音:SpringBoot的探針技術就這點東西?

  1. 文章看到這里,您可能覺得索然無味:所謂的容器探針特性如此簡單,新增兩個actuator地址留給kubernetes的存活和就緒探針用,只要這兩個地址響應正常,kubernetes就判定該容器正常;

  2. 大多數時候,上述結論并無不妥,SpringBoot官方給出的推薦配置如下圖,我們只要照搬即可:

怎么掌握SpringBoot-2.3的容器探針

  1. 冷靜下來仔細思考,有三個問題似乎沒有解決:

  • 首先,SpringBoot為kubernetes提供了兩個actuator項,但是那些并未部署在kubernetes的SringBoot應用呢?用不上這兩項也要對外暴露這兩個服務地址嗎?

  • 其次,就緒探針是什么時候開始返回200返回碼的?應用啟動階段,業務服務可能需要一段時間才能正常工作,就緒探針要是提前返回了200,那k8s就認為容器可以正常工作了,這時候把外部請求調度過來是無法正常響應的,所以搞清楚就緒探針的狀態變化邏輯很重要;

  • 最后,也是最重要的一點:有的場景下,例如外部依賴服務異常、本地全局異常等情況下,業務不想對外提供服務,等到問題解決后業務又可以對外提供服務了,如果此時我們能自己寫代碼控制就緒探針的返回碼,那就做到了控制kubernetes是否將外部請求調度到此容器上,這可是個很實用的功能!

看完上述內容,你們對怎么掌握SpringBoot-2.3的容器探針有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临安市| 锡林郭勒盟| 隆安县| 宣城市| 黄陵县| 页游| 海原县| 屏东县| 吴旗县| 金堂县| 颍上县| 陈巴尔虎旗| 鸡泽县| 大姚县| 洮南市| 淮安市| 龙门县| 台湾省| 河南省| 西畴县| 新昌县| 沙湾县| 江津市| 天祝| 东兰县| 盘锦市| 罗甸县| 林芝县| 渭南市| 株洲县| 汉川市| 德江县| 五家渠市| 周宁县| 正定县| 长岭县| 萍乡市| 邢台市| 黔江区| 调兵山市| 汶川县|