W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Pod 的生命周期 與服務調(diào)度息息相關,通過對 Kubernetes 官方探針的實現(xiàn),能夠使 Dubbo 乃至整個應用的生命周期與 Pod 的生命周期對齊。
通過 Dubbo 的 SPI 機制,在內(nèi)部實現(xiàn)多種“探針”,基于 Dubbo QOS 運維模塊的 HTTP 服務,使容器探針能夠獲取到應用內(nèi)對應探針的狀態(tài)。另外,SPI 的實現(xiàn)機制也利于用戶自行拓展內(nèi)部“探針”,使整個應用的生命周期更有效的進行管控。
參考配置(具體可以參考 dubbo-samples 中 Kubernetes 注冊中心的配置文件)
livenessProbe:
httpGet:
path: /live
port: 22222
initialDelaySeconds: 5
periodSeconds: 5
readinessProbe:
httpGet:
path: /ready
port: 22222
initialDelaySeconds: 5
periodSeconds: 5
startupProbe:
httpGet:
path: /startup
port: 22222
failureThreshold: 30
periodSeconds: 10
目前三種探針均有對應的接口,路徑為 QOS 中的命令,端口信息請根據(jù) QOS 配置進行對應修改(默認端口為 22222)。其他參數(shù)請參考官方文檔說明。
注:為了使 Kubernetes 集群能夠正常訪問到探針,需要開啟 QOS 允許遠程訪問,此操作有可能帶來安全風險,請仔細評估后再打開。
三種探針對應的 SPI 接口如下:
接口將自動獲取當前應用所有 SPI 的實現(xiàn),對應接口的 SPI 實現(xiàn)均成功就緒則接口返回成功。
對于 livenessProbe 存活檢測,由于 Dubbo 框架本身無法獲取到應用的存活狀態(tài),因此本接口無默認實現(xiàn),且默認返回成功。開發(fā)者可以根據(jù) SPI 定義對此 SPI 接口進行拓展,從應用層次對是否存活進行判斷。
對于 readinessProbe 就緒檢測,目前 Dubbo 默認提供了兩個檢測維度,一是對 Dubbo 服務自身是否啟停做判斷,另外是對所有服務是否存在已注冊接口,如果所有服務均已從注冊中心下線(可以通過 QOS 運維進行操作)將返回未就緒的狀態(tài)。
對于 startupProbe 啟動檢測,目前Dubbo 默認提供了一個檢測維度,即是在所有啟動流程(接口暴露、注冊中心寫入等)均結(jié)束后返回已就緒狀態(tài)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: