support custom dubbo invoke retry times (#625)

* support custom dubbo invoke retries times

* Update config.go
diff --git a/pkg/client/dubbo/config.go b/pkg/client/dubbo/config.go
index c405591..f4e56a9 100644
--- a/pkg/client/dubbo/config.go
+++ b/pkg/client/dubbo/config.go
@@ -33,6 +33,8 @@
 	AutoResolve bool `yaml:"auto_resolve" json:"auto_resolve,omitempty"`
 	// Protoset path to load protoset files
 	Protoset []string `yaml:"protoset" json:"protoset,omitempty"`
-	// Load
+	// Load balance
 	LoadBalance string `yaml:"load_balance"  json:"load_balance,omitempty"`
+	// Retries number of retries
+	Retries string `yaml:"retries" json:"retries,omitempty"`
 }
diff --git a/pkg/client/dubbo/dubbo.go b/pkg/client/dubbo/dubbo.go
index ad323ca..ca3e61c 100644
--- a/pkg/client/dubbo/dubbo.go
+++ b/pkg/client/dubbo/dubbo.go
@@ -319,12 +319,15 @@
 		Version:       irequest.DubboBackendConfig.Version,
 		Group:         irequest.Group,
 		Loadbalance:   dc.dubboProxyConfig.LoadBalance,
+		Retries:       dc.dubboProxyConfig.Retries,
 	}
 
-	if len(irequest.DubboBackendConfig.Retries) == 0 {
-		refConf.Retries = "3"
-	} else {
-		refConf.Retries = irequest.DubboBackendConfig.Retries
+	if refConf.Retries == "" {
+		if len(irequest.DubboBackendConfig.Retries) == 0 {
+			refConf.Retries = "3"
+		} else {
+			refConf.Retries = irequest.DubboBackendConfig.Retries
+		}
 	}
 
 	if dc.dubboProxyConfig.Timeout != nil {