dubbo接口超時和重試次數問題

背景:如果不設置dubbo解救超時時間,默認是1s,重試次數是2次,在調用dubbo接口時,會存在超過1s的接口響應時間,這時,就會重新發送請求,而在dubbo提供方邏輯還沒有走完,就會由於接口響應時間問題而造成bug,在這次事故中是對數據庫的操作幾乎同時操作造成了SqlMapClient operation; SQL []這個錯誤。
dubbo默認值:

變量名 描述 默認值 用途
DEFAULT_IO_THREADS 默認IO線程 Math.min(Runtime.getRuntime().availableProcessors() + 1, 32) 創建NettyServer和MinaServer時
DEFAULT_PROXY 默認代理, javassist 通過生成字節碼代替反射
DEFAULT_PAYLOAD 默認最大數據大小 8 * 1024 * 1024/8M 在從通道獲取數據進行編碼時判斷大小
DEFAULT_CLUSTER 默認集羣容錯方案 failover
DEFAULT_DIRECTORY 默認集羣目錄服務 dubbo
DEFAULT_LOADBALANCE 默認負載均衡方案 random(隨機)
DEFAULT_PROTOCOL 默認協議 dubbo
DEFAULT_EXCHANGER 默認信息交換方式 header
DEFAULT_TRANSPORTER 默認傳輸方式 netty(netty3)
DEFAULT_REMOTING_SERVER 默認遠程客戶端 netty(netty3)
DEFAULT_REMOTING_CODEC 默認協議編碼 dubbo
DEFAULT_REMOTING_SERIALIZATION 默認遠程調用序列化方案 hessian2
DEFAULT_HTTP_CLIENT protocol爲hession時的默認客戶端類型 jdk
DEFAULT_HTTP_SERIALIZATION http類型默認序列化方案 json
DEFAULT_CHARSET 默認字符集 UTF-8
DEFAULT_WEIGHT 服務默認權重 1000
DEFAULT_FORKS 默認並行請求數 2
DEFAULT_THREAD_NAME 默認線程名 Dubbo
DEFAULT_CORE_THREADS 默認核心線程數 0
DEFAULT_THREADS 線程池默認線程數 200
DEFAULT_QUEUES 默認隊列數 0
DEFAULT_IDLE_TIMEOUT 默認空閒時間 600 * 1000(10分鐘)
DEFAULT_ALIVE 連接默認存活時間 60 * 1000(1分鐘)
DEFAULT_CONNECTIONS 默認連接 0
DEFAULT_ACCEPTS 默認接收 0
DEFAULT_HEARTBEAT 默認心跳時間 60 * 1000(1分鐘)
DEFAULT_TIMEOUT 請求執行默認超時時間 1s
DEFAULT_CONNECT_TIMEOUT 連接默認超時時間 3s
DEFAULT_RETRIES 默認重試次數 2
DEFAULT_BUFFER_SIZE 默認緩衝區大小 8 * 1024(8K)
事故處理:將超時時間設大,重試此處設爲0
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章