開啟dubbo之旅 啟動時檢查

2021-09-02 22:45:27 字數 1419 閱讀 5663

正經學徒,佛系記錄,不搞事情

基於上文:

官方解釋:dubbo 缺省會在啟動時檢查依賴的服務是否可用,不可用時會丟擲異常,阻止 spring 初始化完成,以便上線時,能及早發現問題。

啟動時檢查分為兩類:

另外乙個值得注意的地方是:如果使用的是啟動時檢查,一開始專案啟動報錯,後面服務恢復的時候,系統還是反射。但如果關閉啟動時檢查,當服務恢復時,系統會自動連上。

官方建議關閉啟動時檢查的情況:

測試時,有些服務不關心,或者出現了迴圈依賴,必須有一方先啟動。另外,如果你的 spring 容器是懶載入的,或者通過 api 程式設計延遲引用服務,請關閉 check,否則服務臨時不可用時,會丟擲異常,拿到 null 引用,如果check="false",總是會返回引用,當服務恢復時,能自動連上。

測試:

步驟:啟動zookeeper,啟動服務消費者,但啟動服務提供者

如圖所示,系統報錯反射錯誤

步驟:修改服務消費者端的配置檔案:

#設定關閉啟動時檢查

dubbo.reference.com.mn.user.bs.userbs.check=false

此時,相同操作下,系統不會報錯。

步驟:啟動zookeeper,啟動服務消費者,但啟動服務提供者。

此時系統報錯,並且不能請求

啟動服務提供者,依然無法請求服務

步驟:啟動zookeeper,啟動服務消費者,但啟動服務提供者。

此時系統報錯,並且不能請求

啟動服務提供者,服務可以請求了,說明設定關閉啟動時檢查,當服務啟動時,系統會自動連上

registry同理,判斷註冊中心是否成功啟動,以此決定系統啟動時是否丟擲異常

啟動時檢查

dubbo 缺省會在啟動時檢查依賴的服務是否可用,不可用時會丟擲異常,阻止 spring 初始化完成,以便上線時,能及早發現問題,預設check true 可以通過check false 關閉檢查,比如,測試時,有些服務不關心,或者出現了迴圈依賴,必須有一方先啟動。另外,如果你的 spring 容器...

對dubbo啟動時檢查check屬性的一些個人理解

對於dubbo框架,對服務引用啟動時檢查的check配置,官方文件的描述是這樣的 dubbo 缺省會在啟動時檢查依賴的服務是否可用,不可用時會丟擲異常,阻止 spring 初始化完成,以便上線時,能及早發現問題,預設check true 可以通過check false 關閉檢查,比如,測試時,有些服...

servlet啟動時載入

servlet預設是在第一次訪問的時候建立的物件。servlet啟動時載入,就是讓 tomcat 伺服器啟動的時候建立servlet的物件 servlet物件是第一次被訪問的時候會被建立的,init方法就會執行。假設在init方法中做了一些比較耗時的操作 比如 載入了一些配置檔案並且解析可能需要花費...