dubbo的配置檔案詳解(推薦)

2022-09-25 09:39:10 字數 2656 閱讀 3225

一、dubbo常用配置

服務配置,用於暴露乙個服務,定義服務的元資訊,乙個服務可以用多個協議暴露,乙個服務也可以註冊到多個註冊中心。

eg、 引用服務配置,用於建立乙個遠端服務**,乙個引用可以指向多個註冊中心。

eg、 協議配置,用於配置提供服務的協議資訊,協議由提供方指定,消費方被動接受。

eg、 應用配置,用於配置當前應用資訊,不管該應用是提供者還是消費者。

eg、   

模組配程式設計客棧置,用於配置當前模組資訊,可選。

註冊中心配置,用於配置連線註冊中心相關資訊。

eg、 監控中心配置,用於配置連線監控中心相關資訊,可選。

提供方的預設值,當protocolconfig和serviceconfig某屬性沒有配置時,採用此預設值,可選。

消費方預設配置,當referenceconfig某屬性沒有配置時,採用此預設值,可選。

方法配置,用於serviceconfig和referenceconfig指定方法級的配置資訊。

用於指定方法引數配置。

二、服務呼叫超時設定

上圖中以timeout為例,顯示了配置的查詢順序,其它retries, loadbalance, actives也類似。

方法級優先,介面級次之,全域性配置再次之。

如果級別一樣,則消費方優先,提供方次之。

其中,服務提供方配置,通過url經由註冊中心傳遞給消費方。

建議由服務提供方設定超時,因為乙個方法需要執行多長時間,服務提供方更清楚,如果乙個消費方同時引用多個服務,就不需要關心每個服務的超時設定。

理論上referenceconfig的非服務標識配置,在consumerconfig,serviceconfig, providerconfig均可以預設配置。

三、啟動時檢查

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

如果你的spring容器是懶載入的,或者通過api程式設計延遲引用服務,請關閉check,否則服務臨時不可用時,會丟擲異常,拿到null引用,如果check=false,總是會返回引用,當服務恢復時,能自動連上。

可以通過check="false"關閉檢查,比如,測試時,有些服務不關心,或者出現了迴圈依賴,必須有一方先啟動。

1、關閉某個服務的啟動時檢查:(沒有提供者時報錯)

2、關閉所有服務的啟動時檢查:(沒有提供者時報錯)  寫在定義服務消費者一方

3、關閉註冊中心啟動時檢查:(註冊訂閱失敗時報錯)

引用預設是延遲初始化的,只有引用被注入到其它bean,或被getbean()獲取,才會初始化。

如果需要飢餓載入,即沒有人引用也立即生成動態**,可以配置:

四、訂閱

1、問題

為方便開發測試,經常會**下共用乙個所有服務可用的註冊中心,這時,如果乙個正在開發中的服務提供者註冊,可能會影響消費者不能正常執行。

2、解決方案

可以讓服務提供者開發方,只訂閱服務(開發的服務可能依賴其它服務),而不註冊正在開發的服務,通過直連測試正在開發的服務。

禁用註冊配置:

或者:五、回聲測試(測試服務是否可用)

回聲測試用於檢測服務是否可用,回聲測試按照正常請求流程執行,能夠測試整個呼叫是否通暢,可用於監控。

所有服務自動實現echoservice介面,只需將任意服務引用強制轉型為echoservice,即可使用。

eg、memberservice memberservice = ctx.getbean("memberservice"); // 遠端服務引用

echoservice echoservice = (echoservice) memberservice; // 強制轉型為echoservice

string status = echoservice.$echo("ok"); // 回聲測試可用性

assert(status.equals("ok"))

六、延遲連線

延遲連線,用於減少長連線數,當有呼叫發起時,再建立長連線。

只對使用長連線的dubbo協議生效。

七、令牌驗證

防止消費者繞過註冊中心訪問提供者,在註冊中心程式設計客棧控制許可權,以決定要不要下發令牌給消費者,註冊中心可靈活改變授權方式,而不需修改或公升級提供者

1、全域性設定開啟令牌驗證:

2、服務級別設定開啟令牌驗證:

3、協議級別設定開啟令牌驗證:

八、日誌適配

預設自動查詢:log4j、slf4j、jcl、jdk

可以通過以下方式配置日誌輸出策略:dubbo:application logger="log4j"/>

訪問日誌:

如果你想記kuvgakywsw錄每一次請求資訊,可開啟訪問日誌,類似於apache的訪問日誌。此日誌量比較大,請注意磁碟容量。

將訪問日誌輸出到當前應用的log4j日誌:

將訪問日誌輸出到指定檔案:

九、配置dubbo快取檔案

配置方法如下:

注意:檔案的路徑,應用可以根據需要調整,保證這個檔案不會在發布過程中被清除。如果有多個應用程序注意不要使用同乙個檔案,避免內容被覆蓋。

這個檔案會快取:

有了這項配置後,當應用重啟過程中,dubbo註冊中心不可用時則應用會從這個快取檔案讀取服務提供者列表的資訊,進一步保證應用可靠性。

本文位址: /jiqiao/fuwuqi/207182.html

dubbo配置檔案

一 配置檔案組成 dubbo registry註冊中心 dubbo monitor監控中心 dubbo provider服務提供者 dubbo service暴露服務 dubbo protocol協議資訊 dubbo consumer服務消費者 dubbo reference服務引用 dubbo m...

dubbo配置檔案

一 配置檔案組成 dubbo registry 註冊中心 dubbo monitor 監控中心 dubbo provider 服務提供者 dubbo service 暴露服務 dubbo protocol 協議資訊 dubbo consumer 服務消費者 dubbo reference 服務引用 ...

dubbo配置檔案異常

今天遇到了個問題,把專案遷移到其他地方,匯入的時候dubbo的配置檔案有異常,但是不影響,可以繼續跑,請原諒我屌絲程式設計師的強迫症,不容許看見一點點x的標誌 異常內容 cvc complex type.2.4.c the matching wildcard is strict,but no dec...