Dubbo為什麼會呼叫超時
Rpc場景:
根據如上程式一定會超時,丟擲異常為
而官方Dubbo預設超時時間為1S,程式的呼叫已經超過了1S的時間
Dubbo呼叫超時後,Dubbo的預設配置為重試2次,知道呼叫的次數為3次時,則會丟擲異常。
Dubbo這種方式在處理查詢的操作時,沒有異常,是一種好的方式,解決因網路抖動導致Dubbo呼叫超時的問題。但是當處理更新或者是插入操作時,這種呼叫多次的方式,將會出現髒資料,出現數據不一致的情況,如果當這種情況出現在是對錢的更改操作時,將是非常嚴重的BUG。這直接導致公司損失。
1. 首先要根據業務設定合適超時時間,所有的服務應當設定一樣的超時時間。在某些查詢或者操作過程中,查詢速度比較慢,但是這種慢是可以接受的情況下,不讓程式報錯,將超時時間設定合適時間。
2. 並不是所有的超時異常都需要重試,某些更改,新增資料的操作不需要。Dubbo中有一種配置為快速失敗,即呼叫僅呼叫一次,如果失敗,則回覆Consumer呼叫這異常。
Dubbo為什麼會呼叫超時
Rpc場景:
根據如上程式一定會超時,丟擲異常為
而官方Dubbo預設超時時間為1S,程式的呼叫已經超過了1S的時間
Dubbo超時後程式如何Dubbo呼叫超時後,Dubbo的預設配置為重試2次,知道呼叫的次數為3次時,則會丟擲異常。
Dubbo這種方式在處理查詢的操作時,沒有異常,是一種好的方式,解決因網路抖動導致Dubbo呼叫超時的問題。但是當處理更新或者是插入操作時,這種呼叫多次的方式,將會出現髒資料,出現數據不一致的情況,如果當這種情況出現在是對錢的更改操作時,將是非常嚴重的BUG。這直接導致公司損失。
呼叫超時後如何處理1. 首先要根據業務設定合適超時時間,所有的服務應當設定一樣的超時時間。在某些查詢或者操作過程中,查詢速度比較慢,但是這種慢是可以接受的情況下,不讓程式報錯,將超時時間設定合適時間。
2. 並不是所有的超時異常都需要重試,某些更改,新增資料的操作不需要。Dubbo中有一種配置為快速失敗,即呼叫僅呼叫一次,如果失敗,則回覆Consumer呼叫這異常。