add example for nacos and etcd
diff --git a/golang/go.mod b/golang/go.mod
index cfdbf04..8afeeff 100644
--- a/golang/go.mod
+++ b/golang/go.mod
@@ -2,7 +2,7 @@
 
 require (
 	github.com/apache/dubbo-go v1.4.1
-	github.com/apache/dubbo-go-hessian2 v1.5.0
+	github.com/apache/dubbo-go-hessian2 v1.6.1-0.20200623062814-707fde850279
 	github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd // indirect
 	github.com/emicklei/go-restful/v3 v3.0.0
 	github.com/golang/protobuf v1.3.2
@@ -16,5 +16,3 @@
 )
 
 go 1.13
-
-replace github.com/apache/dubbo-go => /Users/mindeng/go-workspace/src/dubbo-go
diff --git a/golang/go.sum b/golang/go.sum
index ace6fb9..e2da39b 100644
--- a/golang/go.sum
+++ b/golang/go.sum
@@ -38,6 +38,8 @@
 github.com/apache/dubbo-go-hessian2 v1.4.0/go.mod h1:VwEnsOMidkM1usya2uPfGpSLO9XUF//WQcWn3y+jFz8=
 github.com/apache/dubbo-go-hessian2 v1.5.0 h1:fzulDG5G7nX0ccgKdiN9XipJ7tZ4WXKgmk4stdlDS6s=
 github.com/apache/dubbo-go-hessian2 v1.5.0/go.mod h1:VwEnsOMidkM1usya2uPfGpSLO9XUF//WQcWn3y+jFz8=
+github.com/apache/dubbo-go-hessian2 v1.6.1-0.20200623062814-707fde850279 h1:1g3IJdaUjXWs++NA9Ail8+r6WgrkfhjS6hD/YXvRzjk=
+github.com/apache/dubbo-go-hessian2 v1.6.1-0.20200623062814-707fde850279/go.mod h1:7rEw9guWABQa6Aqb8HeZcsYPHsOS7XT1qtJvkmI6c5w=
 github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
 github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
 github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878/go.mod h1:3AMJUQhVx52RsWOnlkpikZr01T/yAVN2gn0861vByNg=
@@ -92,8 +94,12 @@
 github.com/dubbogo/getty v1.3.3/go.mod h1:U92BDyJ6sW9Jpohr2Vlz8w2uUbIbNZ3d+6rJvFTSPp0=
 github.com/dubbogo/getty v1.3.5 h1:xJxdDj9jm7wlrRSsVZSk2TDNxJbbac5GpxV0QpjO+Tw=
 github.com/dubbogo/getty v1.3.5/go.mod h1:T55vN8Q6tZjf2AQZiGmkujneD3LfqYbv2b3QjacwYOY=
+github.com/dubbogo/getty v1.3.7 h1:xlkYD2/AH34iGteuLMsGjLl2PwBVrbIhHjf3tlUsv1M=
+github.com/dubbogo/getty v1.3.7/go.mod h1:XWO4+wAaMqgnBN9Ykv2YxxOAkGxymg6LGO9RK+EiCDY=
 github.com/dubbogo/go-zookeeper v1.0.0 h1:RsYdlGwhDW+iKXM3eIIcvt34P2swLdmQfuIJxsHlGoM=
 github.com/dubbogo/go-zookeeper v1.0.0/go.mod h1:fn6n2CAEer3novYgk9ULLwAjuV8/g4DdC2ENwRb6E+c=
+github.com/dubbogo/go-zookeeper v1.0.1 h1:irLzvOsDOTNsN8Sv9tvYYxVu6DCQfLtziZQtUHmZgz8=
+github.com/dubbogo/go-zookeeper v1.0.1/go.mod h1:fn6n2CAEer3novYgk9ULLwAjuV8/g4DdC2ENwRb6E+c=
 github.com/dubbogo/gost v1.5.1 h1:oG5dzaWf1KYynBaBoUIOkgT+YD0niHV6xxI0Odq7hDg=
 github.com/dubbogo/gost v1.5.1/go.mod h1:pPTjVyoJan3aPxBPNUX0ADkXjPibLo+/Ib0/fADXSG8=
 github.com/dubbogo/gost v1.5.2 h1:ri/03971hdpnn3QeCU+4UZgnRNGDXLDGDucR/iozZm8=
@@ -174,6 +180,7 @@
 github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
 github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
 github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
+github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
 github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
 github.com/googleapis/gnostic v0.2.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
 github.com/gophercloud/gophercloud v0.0.0-20180828235145-f29afc2cceca/go.mod h1:3WdhXV3rUYy9p6AUW8d94kr+HS62Y4VL9mBnFxsD8q4=
@@ -186,6 +193,8 @@
 github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
 github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q=
 github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
+github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
+github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
 github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY=
 github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
 github.com/grpc-ecosystem/go-grpc-middleware v1.0.0 h1:Iju5GlWwrvL6UBg4zJJt3btmonfrMlCDdsejg4CZE7c=
@@ -200,6 +209,7 @@
 github.com/hashicorp/consul v1.5.3/go.mod h1:61E2GJCPEP3oq8La7sfDdWGQ66+Zbxzw5ecOdFD7xIE=
 github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q=
 github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
+github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA=
 github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
 github.com/hashicorp/go-bexpr v0.1.0/go.mod h1:ANbpTX1oAql27TZkKVeW8p1w8NTdnyzPe/0qqPCKohU=
 github.com/hashicorp/go-checkpoint v0.0.0-20171009173528-1545e56e46de/go.mod h1:xIwEieBHERyEvaeKF/TcHh1Hu+lxPM+n2vT1+g9I4m4=
@@ -234,6 +244,7 @@
 github.com/hashicorp/raft v1.1.1/go.mod h1:vPAJM8Asw6u8LxC3eJCUZmRP/E4QmUGE1R7g7k8sG/8=
 github.com/hashicorp/raft-boltdb v0.0.0-20171010151810-6e5ba93211ea/go.mod h1:pNv7Wc3ycL6F5oOWn+tPGo2gWD4a5X+yp/ntwdKLjRk=
 github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
+github.com/hashicorp/vault v0.10.3 h1:3Hf6mwC4rggOq6ViWSoJ2yfk1oBS5ed58LLcP33gmEg=
 github.com/hashicorp/vault v0.10.3/go.mod h1:KfSyffbKxoVyspOdlaGVjIuwLobi07qD1bAbosPMpP0=
 github.com/hashicorp/vault-plugin-secrets-kv v0.0.0-20190318174639-195e0e9d07f1/go.mod h1:VJHHT2SC1tAPrfENQeBhLlb5FbZoKZM+oC/ROmEftz0=
 github.com/hashicorp/vic v1.5.1-0.20190403131502-bbfe86ec9443/go.mod h1:bEpDU35nTu0ey1EXjwNwPjI9xErAsoOCmcMb9GKvyxo=
@@ -318,6 +329,8 @@
 github.com/nacos-group/nacos-sdk-go v0.0.0-20191128082542-fe1b325b125c/go.mod h1:CEkSvEpoveoYjA81m4HNeYQ0sge0LFGKSEqO3JKHllo=
 github.com/nacos-group/nacos-sdk-go v0.3.1 h1:MI7bNDAN5m9UFcRRUTSPfJi4dCQo+TYG85qVB1rCHeg=
 github.com/nacos-group/nacos-sdk-go v0.3.1/go.mod h1:ESKb6yF0gxSc8GuS+0jaMBe+n8rJ5/k4ya6LyFG2xi8=
+github.com/nacos-group/nacos-sdk-go v0.3.2/go.mod h1:4TdsN7eZnnVCDlOlBa61b0gsRnvNJI74m9+2+OKZkcw=
+github.com/nacos-group/nacos-sdk-go v0.3.3-0.20200617023039-50c7537d6a5f/go.mod h1:fti1GlX/EB6RDKvzK/P7Vuibqj0JMPJHQwrcTU1tLXk=
 github.com/nicolai86/scaleway-sdk v1.10.2-0.20180628010248-798f60e20bb2/go.mod h1:TLb2Sg7HQcgGdloNxkrmtgDNR9uVYF3lfdFIN4Ro6Sk=
 github.com/oklog/run v0.0.0-20180308005104-6934b124db28/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA=
 github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
@@ -380,10 +393,13 @@
 github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
 github.com/renier/xmlrpc v0.0.0-20170708154548-ce4a1a486c03/go.mod h1:gRAiPF5C5Nd0eyyRdqIu9qTiFSoZzpTq727b5B8fkkU=
 github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
+github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
 github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
 github.com/ryanuber/go-glob v0.0.0-20170128012129-256dc444b735/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc=
 github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww=
 github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
+github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b h1:gQZ0qzfKHQIybLANtM3mBXNUtOfsCFXeTsnBqCsx1KM=
+github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
 github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
 github.com/shirou/gopsutil v0.0.0-20181107111621-48177ef5f880/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
 github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc=
@@ -441,18 +457,28 @@
 go.etcd.io/etcd v3.3.13+incompatible/go.mod h1:yaeTdrJi5lOmYerz05bd8+V7KubZs8YSFZfzsF9A6aI=
 go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU=
 go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
+go.uber.org/atomic v1.6.0 h1:Ezj3JGmsOnG1MoRWQkPBsKLe9DwWD9QeXzTRzzldNVk=
+go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
 go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI=
 go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
+go.uber.org/multierr v1.5.0 h1:KCa4XfM8CWFCpxXRGok+Q0SS/0XBhMDbHHGABQLvD2A=
+go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
+go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
 go.uber.org/zap v1.10.0 h1:ORx85nbTijNz8ljznvCMR1ZBIPKFn3jQrag10X2AsuM=
 go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
+go.uber.org/zap v1.15.0 h1:ZZCA22JRF2gQE5FoNmhmrf7jeJJ2uhqDUNRYKm8dvmM=
+go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc=
 golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c h1:Vj5n4GlwjmQteupaxJ9+0FNOmBrHfq7vN4btdGoDZgI=
 golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
 golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
 golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -461,11 +487,14 @@
 golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190613194153-d28f0bde5980 h1:dfGZHvZk057jK2MCeWus/TowKpJ8y4AmooUzdBSR9GU=
 golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20190628185345-da137c7871d7 h1:rTIdg5QFRR7XCaK4LCjBiPbx8j4DQRpdYMnGn/bJUEU=
 golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200226121028-0de0cce0169b h1:0mm1VjtFUOIlE1SbDlwjYaDxZVDP2S5ou6y0gSgXHu8=
 golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/oauth2 v0.0.0-20170807180024-9a379c6b3e95/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -483,6 +512,7 @@
 golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190508220229-2d0786266e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190523142557-0e01d883c5c5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3 h1:4y9KwBHBgBNwDbtu44R5o1fdOCQUEXhbk/P4A9WmJq0=
@@ -505,6 +535,10 @@
 golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
 golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
 golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 google.golang.org/api v0.0.0-20180829000535-087779f1d2c9/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 h1:Nw54tB0rB7hY/N0NQvRW8DG4Yk3Q6T9cu9RcFQDu1tc=
@@ -522,6 +556,7 @@
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
 gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
 gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo=
 gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
@@ -540,6 +575,7 @@
 gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
 honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
 honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
 istio.io/gogo-genproto v0.0.0-20190124151557-6d926a6e6feb/go.mod h1:eIDJ6jNk/IeJz6ODSksHl5Aiczy5JUq6vFhJWI5OtiI=
 k8s.io/api v0.0.0-20180806132203-61b11ee65332/go.mod h1:iuAfoD4hCxJ8Onx9kaTIt30j7jUFS00AXQi6QMi99vA=
 k8s.io/api v0.0.0-20190325185214-7544f9db76f6/go.mod h1:iuAfoD4hCxJ8Onx9kaTIt30j7jUFS00AXQi6QMi99vA=
diff --git a/golang/registry/servicediscovery/go-client/app/client.go b/golang/registry/servicediscovery/etcd/go-client/app/client.go
similarity index 87%
copy from golang/registry/servicediscovery/go-client/app/client.go
copy to golang/registry/servicediscovery/etcd/go-client/app/client.go
index aff30d7..6507bbd 100755
--- a/golang/registry/servicediscovery/go-client/app/client.go
+++ b/golang/registry/servicediscovery/etcd/go-client/app/client.go
@@ -39,14 +39,11 @@
 
 	_ "github.com/apache/dubbo-go/cluster/cluster_impl"
 	_ "github.com/apache/dubbo-go/cluster/loadbalance"
-	_ "github.com/apache/dubbo-go/registry/zookeeper"
-
-	_ "github.com/apache/dubbo-go/config_center/nacos"
 
 	_ "github.com/apache/dubbo-go/metadata/mapping/dynamic"
-	_ "github.com/apache/dubbo-go/metadata/report/nacos"
+	_ "github.com/apache/dubbo-go/metadata/report/etcd"
 	_ "github.com/apache/dubbo-go/metadata/service/remote"
-	_ "github.com/apache/dubbo-go/registry/nacos"
+	_ "github.com/apache/dubbo-go/registry/etcdv3"
 	_ "github.com/apache/dubbo-go/registry/servicediscovery"
 )
 
@@ -68,11 +65,13 @@
 
 	println("\n\n\nstart to test dubbo")
 	user := &User{}
-	err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
-	if err != nil {
-		panic(err)
+	for i := 0; i < 5; i++ {
+		err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
+		if err != nil {
+			panic(err)
+		}
+		println("response result: %v\n", user)
 	}
-	println("response result: %v\n", user)
 	initSignal()
 }
 
diff --git a/golang/registry/servicediscovery/go-client/app/user.go b/golang/registry/servicediscovery/etcd/go-client/app/user.go
similarity index 100%
rename from golang/registry/servicediscovery/go-client/app/user.go
rename to golang/registry/servicediscovery/etcd/go-client/app/user.go
diff --git a/golang/registry/servicediscovery/go-client/app/version.go b/golang/registry/servicediscovery/etcd/go-client/app/version.go
similarity index 100%
rename from golang/registry/servicediscovery/go-client/app/version.go
rename to golang/registry/servicediscovery/etcd/go-client/app/version.go
diff --git a/golang/registry/servicediscovery/go-client/assembly/bin/load.sh b/golang/registry/servicediscovery/etcd/go-client/assembly/bin/load.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-client/assembly/bin/load.sh
rename to golang/registry/servicediscovery/etcd/go-client/assembly/bin/load.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/common/app.properties b/golang/registry/servicediscovery/etcd/go-client/assembly/common/app.properties
similarity index 100%
rename from golang/registry/servicediscovery/go-client/assembly/common/app.properties
rename to golang/registry/servicediscovery/etcd/go-client/assembly/common/app.properties
diff --git a/golang/registry/servicediscovery/go-client/assembly/common/build.sh b/golang/registry/servicediscovery/etcd/go-client/assembly/common/build.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-client/assembly/common/build.sh
rename to golang/registry/servicediscovery/etcd/go-client/assembly/common/build.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/linux/dev.sh b/golang/registry/servicediscovery/etcd/go-client/assembly/linux/dev.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-client/assembly/linux/dev.sh
rename to golang/registry/servicediscovery/etcd/go-client/assembly/linux/dev.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/linux/release.sh b/golang/registry/servicediscovery/etcd/go-client/assembly/linux/release.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-client/assembly/linux/release.sh
rename to golang/registry/servicediscovery/etcd/go-client/assembly/linux/release.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/linux/test.sh b/golang/registry/servicediscovery/etcd/go-client/assembly/linux/test.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-client/assembly/linux/test.sh
rename to golang/registry/servicediscovery/etcd/go-client/assembly/linux/test.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/mac/dev.sh b/golang/registry/servicediscovery/etcd/go-client/assembly/mac/dev.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-client/assembly/mac/dev.sh
rename to golang/registry/servicediscovery/etcd/go-client/assembly/mac/dev.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/mac/release.sh b/golang/registry/servicediscovery/etcd/go-client/assembly/mac/release.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-client/assembly/mac/release.sh
rename to golang/registry/servicediscovery/etcd/go-client/assembly/mac/release.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/mac/test.sh b/golang/registry/servicediscovery/etcd/go-client/assembly/mac/test.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-client/assembly/mac/test.sh
rename to golang/registry/servicediscovery/etcd/go-client/assembly/mac/test.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/windows/dev.sh b/golang/registry/servicediscovery/etcd/go-client/assembly/windows/dev.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-client/assembly/windows/dev.sh
rename to golang/registry/servicediscovery/etcd/go-client/assembly/windows/dev.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/windows/release.sh b/golang/registry/servicediscovery/etcd/go-client/assembly/windows/release.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-client/assembly/windows/release.sh
rename to golang/registry/servicediscovery/etcd/go-client/assembly/windows/release.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/windows/test.sh b/golang/registry/servicediscovery/etcd/go-client/assembly/windows/test.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-client/assembly/windows/test.sh
rename to golang/registry/servicediscovery/etcd/go-client/assembly/windows/test.sh
diff --git a/golang/registry/servicediscovery/go-client/profiles/dev/client.yml b/golang/registry/servicediscovery/etcd/go-client/profiles/dev/client.yml
similarity index 81%
copy from golang/registry/servicediscovery/go-client/profiles/dev/client.yml
copy to golang/registry/servicediscovery/etcd/go-client/profiles/dev/client.yml
index 3eee561..3b812c2 100755
--- a/golang/registry/servicediscovery/go-client/profiles/dev/client.yml
+++ b/golang/registry/servicediscovery/etcd/go-client/profiles/dev/client.yml
@@ -16,38 +16,35 @@
   owner : "ZX"
   environment : "dev"
 
-registries :
+
+registries:
   "demoServiceDiscovery":
     protocol: "service-discovery"
     params:
-      service_discovery: "nacos1"
-      name_mapping: "dynamic"
+      service_discovery: "etcd1"
+      name_mapping: "in-memory"
       metadata: "default"
 
 remote:
-  nacos:
-    address: "127.0.0.1:8848"
+  etcd:
+    address: "127.0.0.1:12379"
     timeout: "5s"
 
 metadata_report:
-  protocol: "nacos"
-  remote_ref: "nacos"
+  protocol: "etcdv3"
+  remote_ref: "etcd"
 
 service_discovery:
-  nacos1:
-    protocol: "nacos"
-    remote_ref: "nacos"
-
-config_center:
-  protocol: "nacos"
-  address: "127.0.0.1:8848"
+  etcd1:
+    protocol: "etcdv3"
+    remote_ref: "etcd"
 
 
 references:
   "UserProvider":
     # 可以指定多个registry,使用逗号隔开;不指定默认向所有注册中心注册
     registry: "demoServiceDiscovery"
-    protocol : "jsonrpc"
+    protocol : "dubbo"
     provide_by: "user-info-server"
     interface : "com.ikurento.user.UserProvider"
     cluster: "failover"
diff --git a/golang/registry/servicediscovery/go-client/profiles/dev/log.yml b/golang/registry/servicediscovery/etcd/go-client/profiles/dev/log.yml
similarity index 100%
rename from golang/registry/servicediscovery/go-client/profiles/dev/log.yml
rename to golang/registry/servicediscovery/etcd/go-client/profiles/dev/log.yml
diff --git a/golang/registry/servicediscovery/go-client/profiles/release/client.yml b/golang/registry/servicediscovery/etcd/go-client/profiles/release/client.yml
similarity index 100%
rename from golang/registry/servicediscovery/go-client/profiles/release/client.yml
rename to golang/registry/servicediscovery/etcd/go-client/profiles/release/client.yml
diff --git a/golang/registry/servicediscovery/go-client/profiles/release/log.yml b/golang/registry/servicediscovery/etcd/go-client/profiles/release/log.yml
similarity index 100%
rename from golang/registry/servicediscovery/go-client/profiles/release/log.yml
rename to golang/registry/servicediscovery/etcd/go-client/profiles/release/log.yml
diff --git a/golang/registry/servicediscovery/go-client/profiles/test/client.yml b/golang/registry/servicediscovery/etcd/go-client/profiles/test/client.yml
similarity index 100%
rename from golang/registry/servicediscovery/go-client/profiles/test/client.yml
rename to golang/registry/servicediscovery/etcd/go-client/profiles/test/client.yml
diff --git a/golang/registry/servicediscovery/go-client/profiles/test/log.yml b/golang/registry/servicediscovery/etcd/go-client/profiles/test/log.yml
similarity index 100%
rename from golang/registry/servicediscovery/go-client/profiles/test/log.yml
rename to golang/registry/servicediscovery/etcd/go-client/profiles/test/log.yml
diff --git a/golang/registry/servicediscovery/go-server/app/server.go b/golang/registry/servicediscovery/etcd/go-server/app/server.go
similarity index 91%
copy from golang/registry/servicediscovery/go-server/app/server.go
copy to golang/registry/servicediscovery/etcd/go-server/app/server.go
index 3ea54d1..6a61ba8 100755
--- a/golang/registry/servicediscovery/go-server/app/server.go
+++ b/golang/registry/servicediscovery/etcd/go-server/app/server.go
@@ -30,7 +30,6 @@
 
 	"github.com/apache/dubbo-go/common/logger"
 	"github.com/apache/dubbo-go/config"
-	_ "github.com/apache/dubbo-go/config_center/nacos"
 	_ "github.com/apache/dubbo-go/protocol/dubbo"
 	_ "github.com/apache/dubbo-go/protocol/jsonrpc"
 	_ "github.com/apache/dubbo-go/registry/protocol"
@@ -38,12 +37,13 @@
 	_ "github.com/apache/dubbo-go/common/proxy/proxy_factory"
 	_ "github.com/apache/dubbo-go/filter/filter_impl"
 
+	_ "github.com/apache/dubbo-go/registry/etcdv3"
+
 	_ "github.com/apache/dubbo-go/cluster/cluster_impl"
 	_ "github.com/apache/dubbo-go/cluster/loadbalance"
-	_ "github.com/apache/dubbo-go/metadata/mapping/dynamic"
-	_ "github.com/apache/dubbo-go/metadata/report/nacos"
+	_ "github.com/apache/dubbo-go/metadata/mapping/memory"
+	_ "github.com/apache/dubbo-go/metadata/report/etcd"
 	_ "github.com/apache/dubbo-go/metadata/service/remote"
-	_ "github.com/apache/dubbo-go/registry/nacos"
 	_ "github.com/apache/dubbo-go/registry/servicediscovery"
 )
 
@@ -57,6 +57,7 @@
 func main() {
 
 	hessian.RegisterPOJO(&User{})
+	// hessian.RegisterPOJO(service.String(""))
 	config.Load()
 
 	initSignal()
diff --git a/golang/registry/servicediscovery/go-server/app/user.go b/golang/registry/servicediscovery/etcd/go-server/app/user.go
similarity index 100%
rename from golang/registry/servicediscovery/go-server/app/user.go
rename to golang/registry/servicediscovery/etcd/go-server/app/user.go
diff --git a/golang/registry/servicediscovery/go-server/app/version.go b/golang/registry/servicediscovery/etcd/go-server/app/version.go
similarity index 100%
rename from golang/registry/servicediscovery/go-server/app/version.go
rename to golang/registry/servicediscovery/etcd/go-server/app/version.go
diff --git a/golang/registry/servicediscovery/go-server/assembly/bin/load.sh b/golang/registry/servicediscovery/etcd/go-server/assembly/bin/load.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-server/assembly/bin/load.sh
rename to golang/registry/servicediscovery/etcd/go-server/assembly/bin/load.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/common/app.properties b/golang/registry/servicediscovery/etcd/go-server/assembly/common/app.properties
similarity index 100%
rename from golang/registry/servicediscovery/go-server/assembly/common/app.properties
rename to golang/registry/servicediscovery/etcd/go-server/assembly/common/app.properties
diff --git a/golang/registry/servicediscovery/go-server/assembly/common/build.sh b/golang/registry/servicediscovery/etcd/go-server/assembly/common/build.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-server/assembly/common/build.sh
rename to golang/registry/servicediscovery/etcd/go-server/assembly/common/build.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/linux/dev.sh b/golang/registry/servicediscovery/etcd/go-server/assembly/linux/dev.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-server/assembly/linux/dev.sh
rename to golang/registry/servicediscovery/etcd/go-server/assembly/linux/dev.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/linux/release.sh b/golang/registry/servicediscovery/etcd/go-server/assembly/linux/release.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-server/assembly/linux/release.sh
rename to golang/registry/servicediscovery/etcd/go-server/assembly/linux/release.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/linux/test.sh b/golang/registry/servicediscovery/etcd/go-server/assembly/linux/test.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-server/assembly/linux/test.sh
rename to golang/registry/servicediscovery/etcd/go-server/assembly/linux/test.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/mac/dev.sh b/golang/registry/servicediscovery/etcd/go-server/assembly/mac/dev.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-server/assembly/mac/dev.sh
rename to golang/registry/servicediscovery/etcd/go-server/assembly/mac/dev.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/mac/release.sh b/golang/registry/servicediscovery/etcd/go-server/assembly/mac/release.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-server/assembly/mac/release.sh
rename to golang/registry/servicediscovery/etcd/go-server/assembly/mac/release.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/mac/test.sh b/golang/registry/servicediscovery/etcd/go-server/assembly/mac/test.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-server/assembly/mac/test.sh
rename to golang/registry/servicediscovery/etcd/go-server/assembly/mac/test.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/windows/dev.sh b/golang/registry/servicediscovery/etcd/go-server/assembly/windows/dev.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-server/assembly/windows/dev.sh
rename to golang/registry/servicediscovery/etcd/go-server/assembly/windows/dev.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/windows/release.sh b/golang/registry/servicediscovery/etcd/go-server/assembly/windows/release.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-server/assembly/windows/release.sh
rename to golang/registry/servicediscovery/etcd/go-server/assembly/windows/release.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/windows/test.sh b/golang/registry/servicediscovery/etcd/go-server/assembly/windows/test.sh
similarity index 100%
rename from golang/registry/servicediscovery/go-server/assembly/windows/test.sh
rename to golang/registry/servicediscovery/etcd/go-server/assembly/windows/test.sh
diff --git a/golang/registry/servicediscovery/go-server/profiles/dev/log.yml b/golang/registry/servicediscovery/etcd/go-server/profiles/dev/log.yml
similarity index 100%
rename from golang/registry/servicediscovery/go-server/profiles/dev/log.yml
rename to golang/registry/servicediscovery/etcd/go-server/profiles/dev/log.yml
diff --git a/golang/registry/servicediscovery/etcd/go-server/profiles/dev/server.yml b/golang/registry/servicediscovery/etcd/go-server/profiles/dev/server.yml
new file mode 100755
index 0000000..92cf4e0
--- /dev/null
+++ b/golang/registry/servicediscovery/etcd/go-server/profiles/dev/server.yml
@@ -0,0 +1,75 @@
+# dubbo server yaml configure file
+
+
+# application config
+application:
+  organization: "ikurento.com"
+  name: "user-info-server"
+  module: "dubbogo user-info server"
+  version: "0.0.1"
+  owner: "ZX"
+  environment: "dev"
+  metadataType: "local"
+
+
+registries:
+  "demoServiceDiscovery":
+    protocol: "service-discovery"
+    params:
+      service_discovery: "etcd1"
+      name_mapping: "in-memory"
+      metadata: "default"
+
+remote:
+  etcd:
+    address: "127.0.0.1:12379"
+    timeout: "5s"
+
+metadata_report:
+  protocol: "etcdv3"
+  remote_ref: "etcd"
+
+service_discovery:
+  etcd1:
+    protocol: "etcdv3"
+    remote_ref: "etcd"
+
+services:
+  "UserProvider":
+    # 可以指定多个registry,使用逗号隔开;不指定默认向所有注册中心注册
+    registry: "demoServiceDiscovery"
+    protocol: "dubbo"
+    # 相当于dubbo.xml中的interface
+    interface: "com.ikurento.user.UserProvider"
+    loadbalance: "random"
+    warmup: "100"
+    cluster: "failover"
+    methods:
+      - name: "GetUser"
+        retries: 1
+        loadbalance: "random"
+
+protocols:
+  "dubbo":
+    name: "dubbo"
+    port: 20000
+
+
+protocol_conf:
+  dubbo:
+    session_number: 700
+    session_timeout: "180s"
+    getty_session_param:
+      compress_encoding: false
+      tcp_no_delay: true
+      tcp_keep_alive: true
+      keep_alive_period: "120s"
+      tcp_r_buf_size: 262144
+      tcp_w_buf_size: 65536
+      pkg_rq_size: 1024
+      pkg_wq_size: 512
+      tcp_read_timeout: "1s"
+      tcp_write_timeout: "5s"
+      wait_timeout: "1s"
+      max_msg_len: 1024000
+      session_name: "server"
diff --git a/golang/registry/servicediscovery/go-client/profiles/dev/log.yml b/golang/registry/servicediscovery/etcd/go-server/profiles/release/log.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-client/profiles/dev/log.yml
copy to golang/registry/servicediscovery/etcd/go-server/profiles/release/log.yml
diff --git a/golang/registry/servicediscovery/go-server/profiles/dev/server.yml b/golang/registry/servicediscovery/etcd/go-server/profiles/release/server.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-server/profiles/dev/server.yml
copy to golang/registry/servicediscovery/etcd/go-server/profiles/release/server.yml
diff --git a/golang/registry/servicediscovery/go-client/profiles/dev/log.yml b/golang/registry/servicediscovery/etcd/go-server/profiles/test/log.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-client/profiles/dev/log.yml
copy to golang/registry/servicediscovery/etcd/go-server/profiles/test/log.yml
diff --git a/golang/registry/servicediscovery/go-server/profiles/dev/server.yml b/golang/registry/servicediscovery/etcd/go-server/profiles/test/server.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-server/profiles/dev/server.yml
copy to golang/registry/servicediscovery/etcd/go-server/profiles/test/server.yml
diff --git a/golang/registry/servicediscovery/java-client/build.sh b/golang/registry/servicediscovery/etcd/java-client/build.sh
similarity index 100%
rename from golang/registry/servicediscovery/java-client/build.sh
rename to golang/registry/servicediscovery/etcd/java-client/build.sh
diff --git a/golang/registry/servicediscovery/java-client/pom.xml b/golang/registry/servicediscovery/etcd/java-client/pom.xml
similarity index 100%
rename from golang/registry/servicediscovery/java-client/pom.xml
rename to golang/registry/servicediscovery/etcd/java-client/pom.xml
diff --git a/golang/registry/servicediscovery/java-client/settings.xml b/golang/registry/servicediscovery/etcd/java-client/settings.xml
similarity index 100%
rename from golang/registry/servicediscovery/java-client/settings.xml
rename to golang/registry/servicediscovery/etcd/java-client/settings.xml
diff --git a/golang/registry/servicediscovery/java-client/src/main/assembly/assembly.xml b/golang/registry/servicediscovery/etcd/java-client/src/main/assembly/assembly.xml
similarity index 100%
rename from golang/registry/servicediscovery/java-client/src/main/assembly/assembly.xml
rename to golang/registry/servicediscovery/etcd/java-client/src/main/assembly/assembly.xml
diff --git a/golang/registry/servicediscovery/java-client/src/main/java/com/ikurento/user/Consumer.java b/golang/registry/servicediscovery/etcd/java-client/src/main/java/com/ikurento/user/Consumer.java
similarity index 100%
rename from golang/registry/servicediscovery/java-client/src/main/java/com/ikurento/user/Consumer.java
rename to golang/registry/servicediscovery/etcd/java-client/src/main/java/com/ikurento/user/Consumer.java
diff --git a/golang/registry/servicediscovery/java-client/src/main/java/com/ikurento/user/User.java b/golang/registry/servicediscovery/etcd/java-client/src/main/java/com/ikurento/user/User.java
similarity index 100%
rename from golang/registry/servicediscovery/java-client/src/main/java/com/ikurento/user/User.java
rename to golang/registry/servicediscovery/etcd/java-client/src/main/java/com/ikurento/user/User.java
diff --git a/golang/registry/servicediscovery/java-client/src/main/java/com/ikurento/user/UserProvider.java b/golang/registry/servicediscovery/etcd/java-client/src/main/java/com/ikurento/user/UserProvider.java
similarity index 100%
rename from golang/registry/servicediscovery/java-client/src/main/java/com/ikurento/user/UserProvider.java
rename to golang/registry/servicediscovery/etcd/java-client/src/main/java/com/ikurento/user/UserProvider.java
diff --git a/golang/registry/servicediscovery/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml b/golang/registry/servicediscovery/etcd/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml
similarity index 100%
rename from golang/registry/servicediscovery/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml
rename to golang/registry/servicediscovery/etcd/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml
diff --git a/golang/registry/servicediscovery/java-client/src/main/resources/META-INF/spring/service.xml b/golang/registry/servicediscovery/etcd/java-client/src/main/resources/META-INF/spring/service.xml
similarity index 100%
rename from golang/registry/servicediscovery/java-client/src/main/resources/META-INF/spring/service.xml
rename to golang/registry/servicediscovery/etcd/java-client/src/main/resources/META-INF/spring/service.xml
diff --git a/golang/registry/servicediscovery/java-client/src/main/resources/dubbo.properties b/golang/registry/servicediscovery/etcd/java-client/src/main/resources/dubbo.properties
similarity index 100%
rename from golang/registry/servicediscovery/java-client/src/main/resources/dubbo.properties
rename to golang/registry/servicediscovery/etcd/java-client/src/main/resources/dubbo.properties
diff --git a/golang/registry/servicediscovery/java-client/src/main/resources/log4j.properties b/golang/registry/servicediscovery/etcd/java-client/src/main/resources/log4j.properties
similarity index 100%
rename from golang/registry/servicediscovery/java-client/src/main/resources/log4j.properties
rename to golang/registry/servicediscovery/etcd/java-client/src/main/resources/log4j.properties
diff --git a/golang/registry/servicediscovery/java-server/build.sh b/golang/registry/servicediscovery/etcd/java-server/build.sh
similarity index 100%
rename from golang/registry/servicediscovery/java-server/build.sh
rename to golang/registry/servicediscovery/etcd/java-server/build.sh
diff --git a/golang/registry/servicediscovery/java-server/pom.xml b/golang/registry/servicediscovery/etcd/java-server/pom.xml
similarity index 100%
rename from golang/registry/servicediscovery/java-server/pom.xml
rename to golang/registry/servicediscovery/etcd/java-server/pom.xml
diff --git a/golang/registry/servicediscovery/java-server/script/debug.sh b/golang/registry/servicediscovery/etcd/java-server/script/debug.sh
similarity index 100%
rename from golang/registry/servicediscovery/java-server/script/debug.sh
rename to golang/registry/servicediscovery/etcd/java-server/script/debug.sh
diff --git a/golang/registry/servicediscovery/java-server/src/main/assembly/assembly.xml b/golang/registry/servicediscovery/etcd/java-server/src/main/assembly/assembly.xml
similarity index 100%
rename from golang/registry/servicediscovery/java-server/src/main/assembly/assembly.xml
rename to golang/registry/servicediscovery/etcd/java-server/src/main/assembly/assembly.xml
diff --git a/golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/Provider.java b/golang/registry/servicediscovery/etcd/java-server/src/main/java/com/ikurento/user/Provider.java
similarity index 100%
rename from golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/Provider.java
rename to golang/registry/servicediscovery/etcd/java-server/src/main/java/com/ikurento/user/Provider.java
diff --git a/golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/User.java b/golang/registry/servicediscovery/etcd/java-server/src/main/java/com/ikurento/user/User.java
similarity index 100%
rename from golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/User.java
rename to golang/registry/servicediscovery/etcd/java-server/src/main/java/com/ikurento/user/User.java
diff --git a/golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/UserProvider.java b/golang/registry/servicediscovery/etcd/java-server/src/main/java/com/ikurento/user/UserProvider.java
similarity index 100%
rename from golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/UserProvider.java
rename to golang/registry/servicediscovery/etcd/java-server/src/main/java/com/ikurento/user/UserProvider.java
diff --git a/golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java b/golang/registry/servicediscovery/etcd/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java
similarity index 100%
rename from golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java
rename to golang/registry/servicediscovery/etcd/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java
diff --git a/golang/registry/servicediscovery/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml b/golang/registry/servicediscovery/etcd/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml
similarity index 100%
rename from golang/registry/servicediscovery/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml
rename to golang/registry/servicediscovery/etcd/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml
diff --git a/golang/registry/servicediscovery/java-server/src/main/resources/dubbo.properties b/golang/registry/servicediscovery/etcd/java-server/src/main/resources/dubbo.properties
similarity index 100%
rename from golang/registry/servicediscovery/java-server/src/main/resources/dubbo.properties
rename to golang/registry/servicediscovery/etcd/java-server/src/main/resources/dubbo.properties
diff --git a/golang/registry/servicediscovery/java-server/src/main/resources/log4j.properties b/golang/registry/servicediscovery/etcd/java-server/src/main/resources/log4j.properties
similarity index 100%
rename from golang/registry/servicediscovery/java-server/src/main/resources/log4j.properties
rename to golang/registry/servicediscovery/etcd/java-server/src/main/resources/log4j.properties
diff --git a/golang/registry/servicediscovery/go-server/profiles/release/log.yml b/golang/registry/servicediscovery/go-server/profiles/release/log.yml
deleted file mode 100755
index e0514be..0000000
--- a/golang/registry/servicediscovery/go-server/profiles/release/log.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-

-level: "warn"

-development: true

-disableCaller: true

-disableStacktrace: true

-sampling:

-encoding: "console"

-

-# encoder

-encoderConfig:

-  messageKey: "message"

-  levelKey: "level"

-  timeKey: "time"

-  nameKey: "logger"

-  callerKey: "caller"

-  stacktraceKey: "stacktrace"

-  lineEnding: ""

-  levelEncoder: "capitalColor"

-  timeEncoder: "iso8601"

-  durationEncoder: "seconds"

-  callerEncoder: "short"

-  nameEncoder: ""

-

-outputPaths:

-  - "stderr"

-errorOutputPaths:

-  - "stderr"

-initialFields:

diff --git a/golang/registry/servicediscovery/go-server/profiles/release/server.yml b/golang/registry/servicediscovery/go-server/profiles/release/server.yml
deleted file mode 100755
index 2e2e88b..0000000
--- a/golang/registry/servicediscovery/go-server/profiles/release/server.yml
+++ /dev/null
@@ -1,62 +0,0 @@
-# dubbo server yaml configure file
-
-
-# application config
-application:
-  organization : "ikurento.com"
-  name : "BDTService"
-  module : "dubbogo user-info server"
-  version : "0.0.1"
-  owner : "ZX"
-  environment : "release"
-
-registries :
-  "hangzhouzk":
-    protocol: "zookeeper"
-    timeout	: "3s"
-    address: "127.0.0.1:2181"
-    username: ""
-    password: ""
-
-
-services:
-  "UserProvider":
-    # 可以指定多个registry,使用逗号隔开;不指定默认向所有注册中心注册
-    registry: "hangzhouzk"
-    protocol : "dubbo"
-    # 相当于dubbo.xml中的interface
-    interface : "com.ikurento.user.UserProvider"
-    loadbalance: "random"
-    warmup: "100"
-    cluster: "failover"
-    methods:
-      - name: "GetUser"
-        retries: 1
-        loadbalance: "random"
-
-
-protocols:
-  "dubbo":
-      name: "dubbo"
-  #    ip : "127.0.0.1"
-      port: 20000
-
-
-protocol_conf:
-  dubbo:
-    session_number: 700
-    session_timeout: "180s"
-    getty_session_param:
-      compress_encoding: false
-      tcp_no_delay: true
-      tcp_keep_alive: true
-      keep_alive_period: "120s"
-      tcp_r_buf_size: 262144
-      tcp_w_buf_size: 65536
-      pkg_rq_size: 1024
-      pkg_wq_size: 512
-      tcp_read_timeout: "1s"
-      tcp_write_timeout: "5s"
-      wait_timeout: "1s"
-      max_msg_len: 1024000
-      session_name: "server"
diff --git a/golang/registry/servicediscovery/go-server/profiles/test/log.yml b/golang/registry/servicediscovery/go-server/profiles/test/log.yml
deleted file mode 100755
index baee0b7..0000000
--- a/golang/registry/servicediscovery/go-server/profiles/test/log.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-

-level: "info"

-development: false

-disableCaller: false

-disableStacktrace: true

-sampling:

-encoding: "console"

-

-# encoder

-encoderConfig:

-  messageKey: "message"

-  levelKey: "level"

-  timeKey: "time"

-  nameKey: "logger"

-  callerKey: "caller"

-  stacktraceKey: "stacktrace"

-  lineEnding: ""

-  levelEncoder: "capitalColor"

-  timeEncoder: "iso8601"

-  durationEncoder: "seconds"

-  callerEncoder: "short"

-  nameEncoder: ""

-

-outputPaths:

-  - "stderr"

-errorOutputPaths:

-  - "stderr"

-initialFields:

diff --git a/golang/registry/servicediscovery/go-server/profiles/test/server.yml b/golang/registry/servicediscovery/go-server/profiles/test/server.yml
deleted file mode 100755
index 2d84f87..0000000
--- a/golang/registry/servicediscovery/go-server/profiles/test/server.yml
+++ /dev/null
@@ -1,62 +0,0 @@
-# dubbo server yaml configure file
-
-
-# application config
-application:
-  organization : "ikurento.com"
-  name : "BDTService"
-  module : "dubbogo user-info server"
-  version : "0.0.1"
-  owner : "ZX"
-  environment : "test"
-
-registries :
-  "hangzhouzk":
-    protocol: "zookeeper"
-    timeout	: "3s"
-    address: "127.0.0.1:2181"
-    username: ""
-    password: ""
-
-
-
-services:
-  "UserProvider":
-    # 可以指定多个registry,使用逗号隔开;不指定默认向所有注册中心注册
-    registry: "hangzhouzk"
-    protocol : "dubbo"
-    # 相当于dubbo.xml中的interface
-    interface : "com.ikurento.user.UserProvider"
-    loadbalance: "random"
-    warmup: "100"
-    cluster: "failover"
-    methods:
-    - name: "GetUser"
-      retries: 1
-      loadbalance: "random"
-
-protocols:
-  "dubbo":
-    name: "dubbo"
-    #    ip : "127.0.0.1"
-    port: 20000
-
-
-protocol_conf:
-  dubbo:
-    session_number: 700
-    session_timeout: "180s"
-    getty_session_param:
-      compress_encoding: false
-      tcp_no_delay: true
-      tcp_keep_alive: true
-      keep_alive_period: "120s"
-      tcp_r_buf_size: 262144
-      tcp_w_buf_size: 65536
-      pkg_rq_size: 1024
-      pkg_wq_size: 512
-      tcp_read_timeout: "1s"
-      tcp_write_timeout: "5s"
-      wait_timeout: "1s"
-      max_msg_len: 1024000
-      session_name: "server"
diff --git a/golang/registry/servicediscovery/go-client/app/client.go b/golang/registry/servicediscovery/nacos/go-client/app/client.go
similarity index 93%
rename from golang/registry/servicediscovery/go-client/app/client.go
rename to golang/registry/servicediscovery/nacos/go-client/app/client.go
index aff30d7..82259ff 100755
--- a/golang/registry/servicediscovery/go-client/app/client.go
+++ b/golang/registry/servicediscovery/nacos/go-client/app/client.go
@@ -68,11 +68,13 @@
 
 	println("\n\n\nstart to test dubbo")
 	user := &User{}
-	err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
-	if err != nil {
-		panic(err)
+	for i := 0; i< 5; i++  {
+		err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
+		if err != nil {
+			panic(err)
+		}
+		println("response result: %v\n", user)
 	}
-	println("response result: %v\n", user)
 	initSignal()
 }
 
diff --git a/golang/registry/servicediscovery/go-client/app/user.go b/golang/registry/servicediscovery/nacos/go-client/app/user.go
similarity index 100%
copy from golang/registry/servicediscovery/go-client/app/user.go
copy to golang/registry/servicediscovery/nacos/go-client/app/user.go
diff --git a/golang/registry/servicediscovery/go-client/app/version.go b/golang/registry/servicediscovery/nacos/go-client/app/version.go
similarity index 100%
copy from golang/registry/servicediscovery/go-client/app/version.go
copy to golang/registry/servicediscovery/nacos/go-client/app/version.go
diff --git a/golang/registry/servicediscovery/go-client/assembly/bin/load.sh b/golang/registry/servicediscovery/nacos/go-client/assembly/bin/load.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/bin/load.sh
copy to golang/registry/servicediscovery/nacos/go-client/assembly/bin/load.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/common/app.properties b/golang/registry/servicediscovery/nacos/go-client/assembly/common/app.properties
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/common/app.properties
copy to golang/registry/servicediscovery/nacos/go-client/assembly/common/app.properties
diff --git a/golang/registry/servicediscovery/go-client/assembly/common/build.sh b/golang/registry/servicediscovery/nacos/go-client/assembly/common/build.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/common/build.sh
copy to golang/registry/servicediscovery/nacos/go-client/assembly/common/build.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/linux/dev.sh b/golang/registry/servicediscovery/nacos/go-client/assembly/linux/dev.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/linux/dev.sh
copy to golang/registry/servicediscovery/nacos/go-client/assembly/linux/dev.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/linux/release.sh b/golang/registry/servicediscovery/nacos/go-client/assembly/linux/release.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/linux/release.sh
copy to golang/registry/servicediscovery/nacos/go-client/assembly/linux/release.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/linux/test.sh b/golang/registry/servicediscovery/nacos/go-client/assembly/linux/test.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/linux/test.sh
copy to golang/registry/servicediscovery/nacos/go-client/assembly/linux/test.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/mac/dev.sh b/golang/registry/servicediscovery/nacos/go-client/assembly/mac/dev.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/mac/dev.sh
copy to golang/registry/servicediscovery/nacos/go-client/assembly/mac/dev.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/mac/release.sh b/golang/registry/servicediscovery/nacos/go-client/assembly/mac/release.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/mac/release.sh
copy to golang/registry/servicediscovery/nacos/go-client/assembly/mac/release.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/mac/test.sh b/golang/registry/servicediscovery/nacos/go-client/assembly/mac/test.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/mac/test.sh
copy to golang/registry/servicediscovery/nacos/go-client/assembly/mac/test.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/windows/dev.sh b/golang/registry/servicediscovery/nacos/go-client/assembly/windows/dev.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/windows/dev.sh
copy to golang/registry/servicediscovery/nacos/go-client/assembly/windows/dev.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/windows/release.sh b/golang/registry/servicediscovery/nacos/go-client/assembly/windows/release.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/windows/release.sh
copy to golang/registry/servicediscovery/nacos/go-client/assembly/windows/release.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/windows/test.sh b/golang/registry/servicediscovery/nacos/go-client/assembly/windows/test.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/windows/test.sh
copy to golang/registry/servicediscovery/nacos/go-client/assembly/windows/test.sh
diff --git a/golang/registry/servicediscovery/go-client/profiles/dev/client.yml b/golang/registry/servicediscovery/nacos/go-client/profiles/dev/client.yml
similarity index 96%
rename from golang/registry/servicediscovery/go-client/profiles/dev/client.yml
rename to golang/registry/servicediscovery/nacos/go-client/profiles/dev/client.yml
index 3eee561..834f2aa 100755
--- a/golang/registry/servicediscovery/go-client/profiles/dev/client.yml
+++ b/golang/registry/servicediscovery/nacos/go-client/profiles/dev/client.yml
@@ -47,8 +47,7 @@
   "UserProvider":
     # 可以指定多个registry,使用逗号隔开;不指定默认向所有注册中心注册
     registry: "demoServiceDiscovery"
-    protocol : "jsonrpc"
-    provide_by: "user-info-server"
+    protocol : "dubbo"
     interface : "com.ikurento.user.UserProvider"
     cluster: "failover"
     methods :
diff --git a/golang/registry/servicediscovery/go-client/profiles/dev/log.yml b/golang/registry/servicediscovery/nacos/go-client/profiles/dev/log.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-client/profiles/dev/log.yml
copy to golang/registry/servicediscovery/nacos/go-client/profiles/dev/log.yml
diff --git a/golang/registry/servicediscovery/go-client/profiles/release/client.yml b/golang/registry/servicediscovery/nacos/go-client/profiles/release/client.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-client/profiles/release/client.yml
copy to golang/registry/servicediscovery/nacos/go-client/profiles/release/client.yml
diff --git a/golang/registry/servicediscovery/go-client/profiles/release/log.yml b/golang/registry/servicediscovery/nacos/go-client/profiles/release/log.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-client/profiles/release/log.yml
copy to golang/registry/servicediscovery/nacos/go-client/profiles/release/log.yml
diff --git a/golang/registry/servicediscovery/go-client/profiles/test/client.yml b/golang/registry/servicediscovery/nacos/go-client/profiles/test/client.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-client/profiles/test/client.yml
copy to golang/registry/servicediscovery/nacos/go-client/profiles/test/client.yml
diff --git a/golang/registry/servicediscovery/go-client/profiles/test/log.yml b/golang/registry/servicediscovery/nacos/go-client/profiles/test/log.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-client/profiles/test/log.yml
copy to golang/registry/servicediscovery/nacos/go-client/profiles/test/log.yml
diff --git a/golang/registry/servicediscovery/go-server/app/server.go b/golang/registry/servicediscovery/nacos/go-server/app/server.go
similarity index 97%
rename from golang/registry/servicediscovery/go-server/app/server.go
rename to golang/registry/servicediscovery/nacos/go-server/app/server.go
index 3ea54d1..fe42f65 100755
--- a/golang/registry/servicediscovery/go-server/app/server.go
+++ b/golang/registry/servicediscovery/nacos/go-server/app/server.go
@@ -57,6 +57,7 @@
 func main() {
 
 	hessian.RegisterPOJO(&User{})
+	// hessian.RegisterPOJO(service.String(""))
 	config.Load()
 
 	initSignal()
diff --git a/golang/registry/servicediscovery/go-server/app/user.go b/golang/registry/servicediscovery/nacos/go-server/app/user.go
similarity index 100%
copy from golang/registry/servicediscovery/go-server/app/user.go
copy to golang/registry/servicediscovery/nacos/go-server/app/user.go
diff --git a/golang/registry/servicediscovery/go-server/app/version.go b/golang/registry/servicediscovery/nacos/go-server/app/version.go
similarity index 100%
copy from golang/registry/servicediscovery/go-server/app/version.go
copy to golang/registry/servicediscovery/nacos/go-server/app/version.go
diff --git a/golang/registry/servicediscovery/go-server/assembly/bin/load.sh b/golang/registry/servicediscovery/nacos/go-server/assembly/bin/load.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/bin/load.sh
copy to golang/registry/servicediscovery/nacos/go-server/assembly/bin/load.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/common/app.properties b/golang/registry/servicediscovery/nacos/go-server/assembly/common/app.properties
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/common/app.properties
copy to golang/registry/servicediscovery/nacos/go-server/assembly/common/app.properties
diff --git a/golang/registry/servicediscovery/go-server/assembly/common/build.sh b/golang/registry/servicediscovery/nacos/go-server/assembly/common/build.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/common/build.sh
copy to golang/registry/servicediscovery/nacos/go-server/assembly/common/build.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/linux/dev.sh b/golang/registry/servicediscovery/nacos/go-server/assembly/linux/dev.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/linux/dev.sh
copy to golang/registry/servicediscovery/nacos/go-server/assembly/linux/dev.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/linux/release.sh b/golang/registry/servicediscovery/nacos/go-server/assembly/linux/release.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/linux/release.sh
copy to golang/registry/servicediscovery/nacos/go-server/assembly/linux/release.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/linux/test.sh b/golang/registry/servicediscovery/nacos/go-server/assembly/linux/test.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/linux/test.sh
copy to golang/registry/servicediscovery/nacos/go-server/assembly/linux/test.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/mac/dev.sh b/golang/registry/servicediscovery/nacos/go-server/assembly/mac/dev.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/mac/dev.sh
copy to golang/registry/servicediscovery/nacos/go-server/assembly/mac/dev.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/mac/release.sh b/golang/registry/servicediscovery/nacos/go-server/assembly/mac/release.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/mac/release.sh
copy to golang/registry/servicediscovery/nacos/go-server/assembly/mac/release.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/mac/test.sh b/golang/registry/servicediscovery/nacos/go-server/assembly/mac/test.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/mac/test.sh
copy to golang/registry/servicediscovery/nacos/go-server/assembly/mac/test.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/windows/dev.sh b/golang/registry/servicediscovery/nacos/go-server/assembly/windows/dev.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/windows/dev.sh
copy to golang/registry/servicediscovery/nacos/go-server/assembly/windows/dev.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/windows/release.sh b/golang/registry/servicediscovery/nacos/go-server/assembly/windows/release.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/windows/release.sh
copy to golang/registry/servicediscovery/nacos/go-server/assembly/windows/release.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/windows/test.sh b/golang/registry/servicediscovery/nacos/go-server/assembly/windows/test.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/windows/test.sh
copy to golang/registry/servicediscovery/nacos/go-server/assembly/windows/test.sh
diff --git a/golang/registry/servicediscovery/go-server/profiles/dev/log.yml b/golang/registry/servicediscovery/nacos/go-server/profiles/dev/log.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-server/profiles/dev/log.yml
copy to golang/registry/servicediscovery/nacos/go-server/profiles/dev/log.yml
diff --git a/golang/registry/servicediscovery/go-server/profiles/dev/server.yml b/golang/registry/servicediscovery/nacos/go-server/profiles/dev/server.yml
similarity index 100%
rename from golang/registry/servicediscovery/go-server/profiles/dev/server.yml
rename to golang/registry/servicediscovery/nacos/go-server/profiles/dev/server.yml
diff --git a/golang/registry/servicediscovery/go-client/profiles/dev/log.yml b/golang/registry/servicediscovery/nacos/go-server/profiles/release/log.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-client/profiles/dev/log.yml
copy to golang/registry/servicediscovery/nacos/go-server/profiles/release/log.yml
diff --git a/golang/registry/servicediscovery/go-server/profiles/dev/server.yml b/golang/registry/servicediscovery/nacos/go-server/profiles/release/server.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-server/profiles/dev/server.yml
copy to golang/registry/servicediscovery/nacos/go-server/profiles/release/server.yml
diff --git a/golang/registry/servicediscovery/go-client/profiles/dev/log.yml b/golang/registry/servicediscovery/nacos/go-server/profiles/test/log.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-client/profiles/dev/log.yml
copy to golang/registry/servicediscovery/nacos/go-server/profiles/test/log.yml
diff --git a/golang/registry/servicediscovery/go-server/profiles/dev/server.yml b/golang/registry/servicediscovery/nacos/go-server/profiles/test/server.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-server/profiles/dev/server.yml
copy to golang/registry/servicediscovery/nacos/go-server/profiles/test/server.yml
diff --git a/golang/registry/servicediscovery/java-client/build.sh b/golang/registry/servicediscovery/nacos/java-client/build.sh
similarity index 100%
copy from golang/registry/servicediscovery/java-client/build.sh
copy to golang/registry/servicediscovery/nacos/java-client/build.sh
diff --git a/golang/registry/servicediscovery/java-client/pom.xml b/golang/registry/servicediscovery/nacos/java-client/pom.xml
similarity index 100%
copy from golang/registry/servicediscovery/java-client/pom.xml
copy to golang/registry/servicediscovery/nacos/java-client/pom.xml
diff --git a/golang/registry/servicediscovery/java-client/settings.xml b/golang/registry/servicediscovery/nacos/java-client/settings.xml
similarity index 100%
copy from golang/registry/servicediscovery/java-client/settings.xml
copy to golang/registry/servicediscovery/nacos/java-client/settings.xml
diff --git a/golang/registry/servicediscovery/java-client/src/main/assembly/assembly.xml b/golang/registry/servicediscovery/nacos/java-client/src/main/assembly/assembly.xml
similarity index 100%
copy from golang/registry/servicediscovery/java-client/src/main/assembly/assembly.xml
copy to golang/registry/servicediscovery/nacos/java-client/src/main/assembly/assembly.xml
diff --git a/golang/registry/servicediscovery/java-client/src/main/java/com/ikurento/user/Consumer.java b/golang/registry/servicediscovery/nacos/java-client/src/main/java/com/ikurento/user/Consumer.java
similarity index 100%
copy from golang/registry/servicediscovery/java-client/src/main/java/com/ikurento/user/Consumer.java
copy to golang/registry/servicediscovery/nacos/java-client/src/main/java/com/ikurento/user/Consumer.java
diff --git a/golang/registry/servicediscovery/java-client/src/main/java/com/ikurento/user/User.java b/golang/registry/servicediscovery/nacos/java-client/src/main/java/com/ikurento/user/User.java
similarity index 100%
copy from golang/registry/servicediscovery/java-client/src/main/java/com/ikurento/user/User.java
copy to golang/registry/servicediscovery/nacos/java-client/src/main/java/com/ikurento/user/User.java
diff --git a/golang/registry/servicediscovery/java-client/src/main/java/com/ikurento/user/UserProvider.java b/golang/registry/servicediscovery/nacos/java-client/src/main/java/com/ikurento/user/UserProvider.java
similarity index 100%
copy from golang/registry/servicediscovery/java-client/src/main/java/com/ikurento/user/UserProvider.java
copy to golang/registry/servicediscovery/nacos/java-client/src/main/java/com/ikurento/user/UserProvider.java
diff --git a/golang/registry/servicediscovery/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml b/golang/registry/servicediscovery/nacos/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml
similarity index 100%
copy from golang/registry/servicediscovery/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml
copy to golang/registry/servicediscovery/nacos/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml
diff --git a/golang/registry/servicediscovery/java-client/src/main/resources/META-INF/spring/service.xml b/golang/registry/servicediscovery/nacos/java-client/src/main/resources/META-INF/spring/service.xml
similarity index 100%
copy from golang/registry/servicediscovery/java-client/src/main/resources/META-INF/spring/service.xml
copy to golang/registry/servicediscovery/nacos/java-client/src/main/resources/META-INF/spring/service.xml
diff --git a/golang/registry/servicediscovery/java-client/src/main/resources/dubbo.properties b/golang/registry/servicediscovery/nacos/java-client/src/main/resources/dubbo.properties
similarity index 100%
copy from golang/registry/servicediscovery/java-client/src/main/resources/dubbo.properties
copy to golang/registry/servicediscovery/nacos/java-client/src/main/resources/dubbo.properties
diff --git a/golang/registry/servicediscovery/java-client/src/main/resources/log4j.properties b/golang/registry/servicediscovery/nacos/java-client/src/main/resources/log4j.properties
similarity index 100%
copy from golang/registry/servicediscovery/java-client/src/main/resources/log4j.properties
copy to golang/registry/servicediscovery/nacos/java-client/src/main/resources/log4j.properties
diff --git a/golang/registry/servicediscovery/java-server/build.sh b/golang/registry/servicediscovery/nacos/java-server/build.sh
similarity index 100%
copy from golang/registry/servicediscovery/java-server/build.sh
copy to golang/registry/servicediscovery/nacos/java-server/build.sh
diff --git a/golang/registry/servicediscovery/java-server/pom.xml b/golang/registry/servicediscovery/nacos/java-server/pom.xml
similarity index 100%
copy from golang/registry/servicediscovery/java-server/pom.xml
copy to golang/registry/servicediscovery/nacos/java-server/pom.xml
diff --git a/golang/registry/servicediscovery/java-server/script/debug.sh b/golang/registry/servicediscovery/nacos/java-server/script/debug.sh
similarity index 100%
copy from golang/registry/servicediscovery/java-server/script/debug.sh
copy to golang/registry/servicediscovery/nacos/java-server/script/debug.sh
diff --git a/golang/registry/servicediscovery/java-server/src/main/assembly/assembly.xml b/golang/registry/servicediscovery/nacos/java-server/src/main/assembly/assembly.xml
similarity index 100%
copy from golang/registry/servicediscovery/java-server/src/main/assembly/assembly.xml
copy to golang/registry/servicediscovery/nacos/java-server/src/main/assembly/assembly.xml
diff --git a/golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/Provider.java b/golang/registry/servicediscovery/nacos/java-server/src/main/java/com/ikurento/user/Provider.java
similarity index 100%
copy from golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/Provider.java
copy to golang/registry/servicediscovery/nacos/java-server/src/main/java/com/ikurento/user/Provider.java
diff --git a/golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/User.java b/golang/registry/servicediscovery/nacos/java-server/src/main/java/com/ikurento/user/User.java
similarity index 100%
copy from golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/User.java
copy to golang/registry/servicediscovery/nacos/java-server/src/main/java/com/ikurento/user/User.java
diff --git a/golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/UserProvider.java b/golang/registry/servicediscovery/nacos/java-server/src/main/java/com/ikurento/user/UserProvider.java
similarity index 100%
copy from golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/UserProvider.java
copy to golang/registry/servicediscovery/nacos/java-server/src/main/java/com/ikurento/user/UserProvider.java
diff --git a/golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java b/golang/registry/servicediscovery/nacos/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java
similarity index 100%
copy from golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java
copy to golang/registry/servicediscovery/nacos/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java
diff --git a/golang/registry/servicediscovery/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml b/golang/registry/servicediscovery/nacos/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml
similarity index 100%
copy from golang/registry/servicediscovery/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml
copy to golang/registry/servicediscovery/nacos/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml
diff --git a/golang/registry/servicediscovery/java-server/src/main/resources/dubbo.properties b/golang/registry/servicediscovery/nacos/java-server/src/main/resources/dubbo.properties
similarity index 100%
copy from golang/registry/servicediscovery/java-server/src/main/resources/dubbo.properties
copy to golang/registry/servicediscovery/nacos/java-server/src/main/resources/dubbo.properties
diff --git a/golang/registry/servicediscovery/java-server/src/main/resources/log4j.properties b/golang/registry/servicediscovery/nacos/java-server/src/main/resources/log4j.properties
similarity index 100%
copy from golang/registry/servicediscovery/java-server/src/main/resources/log4j.properties
copy to golang/registry/servicediscovery/nacos/java-server/src/main/resources/log4j.properties
diff --git a/golang/registry/servicediscovery/go-client/app/client.go b/golang/registry/servicediscovery/zookeeper/go-client/app/client.go
similarity index 89%
copy from golang/registry/servicediscovery/go-client/app/client.go
copy to golang/registry/servicediscovery/zookeeper/go-client/app/client.go
index aff30d7..e4f5359 100755
--- a/golang/registry/servicediscovery/go-client/app/client.go
+++ b/golang/registry/servicediscovery/zookeeper/go-client/app/client.go
@@ -39,15 +39,12 @@
 
 	_ "github.com/apache/dubbo-go/cluster/cluster_impl"
 	_ "github.com/apache/dubbo-go/cluster/loadbalance"
-	_ "github.com/apache/dubbo-go/registry/zookeeper"
-
-	_ "github.com/apache/dubbo-go/config_center/nacos"
 
 	_ "github.com/apache/dubbo-go/metadata/mapping/dynamic"
-	_ "github.com/apache/dubbo-go/metadata/report/nacos"
+	_ "github.com/apache/dubbo-go/metadata/report/zookeeper"
 	_ "github.com/apache/dubbo-go/metadata/service/remote"
-	_ "github.com/apache/dubbo-go/registry/nacos"
 	_ "github.com/apache/dubbo-go/registry/servicediscovery"
+	_ "github.com/apache/dubbo-go/registry/zookeeper"
 )
 
 var (
@@ -68,11 +65,13 @@
 
 	println("\n\n\nstart to test dubbo")
 	user := &User{}
-	err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
-	if err != nil {
-		panic(err)
+	for i := 0; i < 5; i++ {
+		err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
+		if err != nil {
+			panic(err)
+		}
+		println("response result: %v\n", user)
 	}
-	println("response result: %v\n", user)
 	initSignal()
 }
 
diff --git a/golang/registry/servicediscovery/go-client/app/user.go b/golang/registry/servicediscovery/zookeeper/go-client/app/user.go
similarity index 100%
copy from golang/registry/servicediscovery/go-client/app/user.go
copy to golang/registry/servicediscovery/zookeeper/go-client/app/user.go
diff --git a/golang/registry/servicediscovery/go-client/app/version.go b/golang/registry/servicediscovery/zookeeper/go-client/app/version.go
similarity index 100%
copy from golang/registry/servicediscovery/go-client/app/version.go
copy to golang/registry/servicediscovery/zookeeper/go-client/app/version.go
diff --git a/golang/registry/servicediscovery/go-client/assembly/bin/load.sh b/golang/registry/servicediscovery/zookeeper/go-client/assembly/bin/load.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/bin/load.sh
copy to golang/registry/servicediscovery/zookeeper/go-client/assembly/bin/load.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/common/app.properties b/golang/registry/servicediscovery/zookeeper/go-client/assembly/common/app.properties
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/common/app.properties
copy to golang/registry/servicediscovery/zookeeper/go-client/assembly/common/app.properties
diff --git a/golang/registry/servicediscovery/go-client/assembly/common/build.sh b/golang/registry/servicediscovery/zookeeper/go-client/assembly/common/build.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/common/build.sh
copy to golang/registry/servicediscovery/zookeeper/go-client/assembly/common/build.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/linux/dev.sh b/golang/registry/servicediscovery/zookeeper/go-client/assembly/linux/dev.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/linux/dev.sh
copy to golang/registry/servicediscovery/zookeeper/go-client/assembly/linux/dev.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/linux/release.sh b/golang/registry/servicediscovery/zookeeper/go-client/assembly/linux/release.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/linux/release.sh
copy to golang/registry/servicediscovery/zookeeper/go-client/assembly/linux/release.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/linux/test.sh b/golang/registry/servicediscovery/zookeeper/go-client/assembly/linux/test.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/linux/test.sh
copy to golang/registry/servicediscovery/zookeeper/go-client/assembly/linux/test.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/mac/dev.sh b/golang/registry/servicediscovery/zookeeper/go-client/assembly/mac/dev.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/mac/dev.sh
copy to golang/registry/servicediscovery/zookeeper/go-client/assembly/mac/dev.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/mac/release.sh b/golang/registry/servicediscovery/zookeeper/go-client/assembly/mac/release.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/mac/release.sh
copy to golang/registry/servicediscovery/zookeeper/go-client/assembly/mac/release.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/mac/test.sh b/golang/registry/servicediscovery/zookeeper/go-client/assembly/mac/test.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/mac/test.sh
copy to golang/registry/servicediscovery/zookeeper/go-client/assembly/mac/test.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/windows/dev.sh b/golang/registry/servicediscovery/zookeeper/go-client/assembly/windows/dev.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/windows/dev.sh
copy to golang/registry/servicediscovery/zookeeper/go-client/assembly/windows/dev.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/windows/release.sh b/golang/registry/servicediscovery/zookeeper/go-client/assembly/windows/release.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/windows/release.sh
copy to golang/registry/servicediscovery/zookeeper/go-client/assembly/windows/release.sh
diff --git a/golang/registry/servicediscovery/go-client/assembly/windows/test.sh b/golang/registry/servicediscovery/zookeeper/go-client/assembly/windows/test.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-client/assembly/windows/test.sh
copy to golang/registry/servicediscovery/zookeeper/go-client/assembly/windows/test.sh
diff --git a/golang/registry/servicediscovery/go-client/profiles/dev/client.yml b/golang/registry/servicediscovery/zookeeper/go-client/profiles/dev/client.yml
similarity index 81%
copy from golang/registry/servicediscovery/go-client/profiles/dev/client.yml
copy to golang/registry/servicediscovery/zookeeper/go-client/profiles/dev/client.yml
index 3eee561..0c96803 100755
--- a/golang/registry/servicediscovery/go-client/profiles/dev/client.yml
+++ b/golang/registry/servicediscovery/zookeeper/go-client/profiles/dev/client.yml
@@ -16,38 +16,35 @@
   owner : "ZX"
   environment : "dev"
 
-registries :
+
+registries:
   "demoServiceDiscovery":
     protocol: "service-discovery"
     params:
-      service_discovery: "nacos1"
-      name_mapping: "dynamic"
+      service_discovery: "zk-dis1"
+      name_mapping: "in-memory"
       metadata: "default"
 
 remote:
-  nacos:
-    address: "127.0.0.1:8848"
+  zk1:
+    address: "127.0.0.1:2181"
     timeout: "5s"
 
 metadata_report:
-  protocol: "nacos"
-  remote_ref: "nacos"
+  protocol: "zookeeper"
+  remote_ref: "zk1"
 
 service_discovery:
-  nacos1:
-    protocol: "nacos"
-    remote_ref: "nacos"
-
-config_center:
-  protocol: "nacos"
-  address: "127.0.0.1:8848"
+  zk-dis1:
+    protocol: "zookeeper"
+    remote_ref: "zk1"
 
 
 references:
   "UserProvider":
     # 可以指定多个registry,使用逗号隔开;不指定默认向所有注册中心注册
     registry: "demoServiceDiscovery"
-    protocol : "jsonrpc"
+    protocol : "dubbo"
     provide_by: "user-info-server"
     interface : "com.ikurento.user.UserProvider"
     cluster: "failover"
diff --git a/golang/registry/servicediscovery/go-client/profiles/dev/log.yml b/golang/registry/servicediscovery/zookeeper/go-client/profiles/dev/log.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-client/profiles/dev/log.yml
copy to golang/registry/servicediscovery/zookeeper/go-client/profiles/dev/log.yml
diff --git a/golang/registry/servicediscovery/go-client/profiles/release/client.yml b/golang/registry/servicediscovery/zookeeper/go-client/profiles/release/client.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-client/profiles/release/client.yml
copy to golang/registry/servicediscovery/zookeeper/go-client/profiles/release/client.yml
diff --git a/golang/registry/servicediscovery/go-client/profiles/release/log.yml b/golang/registry/servicediscovery/zookeeper/go-client/profiles/release/log.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-client/profiles/release/log.yml
copy to golang/registry/servicediscovery/zookeeper/go-client/profiles/release/log.yml
diff --git a/golang/registry/servicediscovery/go-client/profiles/test/client.yml b/golang/registry/servicediscovery/zookeeper/go-client/profiles/test/client.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-client/profiles/test/client.yml
copy to golang/registry/servicediscovery/zookeeper/go-client/profiles/test/client.yml
diff --git a/golang/registry/servicediscovery/go-client/profiles/test/log.yml b/golang/registry/servicediscovery/zookeeper/go-client/profiles/test/log.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-client/profiles/test/log.yml
copy to golang/registry/servicediscovery/zookeeper/go-client/profiles/test/log.yml
diff --git a/golang/registry/servicediscovery/go-server/app/server.go b/golang/registry/servicediscovery/zookeeper/go-server/app/server.go
similarity index 91%
copy from golang/registry/servicediscovery/go-server/app/server.go
copy to golang/registry/servicediscovery/zookeeper/go-server/app/server.go
index 3ea54d1..53a08cc 100755
--- a/golang/registry/servicediscovery/go-server/app/server.go
+++ b/golang/registry/servicediscovery/zookeeper/go-server/app/server.go
@@ -30,7 +30,6 @@
 
 	"github.com/apache/dubbo-go/common/logger"
 	"github.com/apache/dubbo-go/config"
-	_ "github.com/apache/dubbo-go/config_center/nacos"
 	_ "github.com/apache/dubbo-go/protocol/dubbo"
 	_ "github.com/apache/dubbo-go/protocol/jsonrpc"
 	_ "github.com/apache/dubbo-go/registry/protocol"
@@ -38,12 +37,13 @@
 	_ "github.com/apache/dubbo-go/common/proxy/proxy_factory"
 	_ "github.com/apache/dubbo-go/filter/filter_impl"
 
+	_ "github.com/apache/dubbo-go/registry/zookeeper"
+
 	_ "github.com/apache/dubbo-go/cluster/cluster_impl"
 	_ "github.com/apache/dubbo-go/cluster/loadbalance"
-	_ "github.com/apache/dubbo-go/metadata/mapping/dynamic"
-	_ "github.com/apache/dubbo-go/metadata/report/nacos"
+	_ "github.com/apache/dubbo-go/metadata/mapping/memory"
+	_ "github.com/apache/dubbo-go/metadata/report/zookeeper"
 	_ "github.com/apache/dubbo-go/metadata/service/remote"
-	_ "github.com/apache/dubbo-go/registry/nacos"
 	_ "github.com/apache/dubbo-go/registry/servicediscovery"
 )
 
@@ -57,6 +57,7 @@
 func main() {
 
 	hessian.RegisterPOJO(&User{})
+	// hessian.RegisterPOJO(service.String(""))
 	config.Load()
 
 	initSignal()
diff --git a/golang/registry/servicediscovery/go-server/app/user.go b/golang/registry/servicediscovery/zookeeper/go-server/app/user.go
similarity index 100%
copy from golang/registry/servicediscovery/go-server/app/user.go
copy to golang/registry/servicediscovery/zookeeper/go-server/app/user.go
diff --git a/golang/registry/servicediscovery/go-server/app/version.go b/golang/registry/servicediscovery/zookeeper/go-server/app/version.go
similarity index 100%
copy from golang/registry/servicediscovery/go-server/app/version.go
copy to golang/registry/servicediscovery/zookeeper/go-server/app/version.go
diff --git a/golang/registry/servicediscovery/go-server/assembly/bin/load.sh b/golang/registry/servicediscovery/zookeeper/go-server/assembly/bin/load.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/bin/load.sh
copy to golang/registry/servicediscovery/zookeeper/go-server/assembly/bin/load.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/common/app.properties b/golang/registry/servicediscovery/zookeeper/go-server/assembly/common/app.properties
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/common/app.properties
copy to golang/registry/servicediscovery/zookeeper/go-server/assembly/common/app.properties
diff --git a/golang/registry/servicediscovery/go-server/assembly/common/build.sh b/golang/registry/servicediscovery/zookeeper/go-server/assembly/common/build.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/common/build.sh
copy to golang/registry/servicediscovery/zookeeper/go-server/assembly/common/build.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/linux/dev.sh b/golang/registry/servicediscovery/zookeeper/go-server/assembly/linux/dev.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/linux/dev.sh
copy to golang/registry/servicediscovery/zookeeper/go-server/assembly/linux/dev.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/linux/release.sh b/golang/registry/servicediscovery/zookeeper/go-server/assembly/linux/release.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/linux/release.sh
copy to golang/registry/servicediscovery/zookeeper/go-server/assembly/linux/release.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/linux/test.sh b/golang/registry/servicediscovery/zookeeper/go-server/assembly/linux/test.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/linux/test.sh
copy to golang/registry/servicediscovery/zookeeper/go-server/assembly/linux/test.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/mac/dev.sh b/golang/registry/servicediscovery/zookeeper/go-server/assembly/mac/dev.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/mac/dev.sh
copy to golang/registry/servicediscovery/zookeeper/go-server/assembly/mac/dev.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/mac/release.sh b/golang/registry/servicediscovery/zookeeper/go-server/assembly/mac/release.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/mac/release.sh
copy to golang/registry/servicediscovery/zookeeper/go-server/assembly/mac/release.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/mac/test.sh b/golang/registry/servicediscovery/zookeeper/go-server/assembly/mac/test.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/mac/test.sh
copy to golang/registry/servicediscovery/zookeeper/go-server/assembly/mac/test.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/windows/dev.sh b/golang/registry/servicediscovery/zookeeper/go-server/assembly/windows/dev.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/windows/dev.sh
copy to golang/registry/servicediscovery/zookeeper/go-server/assembly/windows/dev.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/windows/release.sh b/golang/registry/servicediscovery/zookeeper/go-server/assembly/windows/release.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/windows/release.sh
copy to golang/registry/servicediscovery/zookeeper/go-server/assembly/windows/release.sh
diff --git a/golang/registry/servicediscovery/go-server/assembly/windows/test.sh b/golang/registry/servicediscovery/zookeeper/go-server/assembly/windows/test.sh
similarity index 100%
copy from golang/registry/servicediscovery/go-server/assembly/windows/test.sh
copy to golang/registry/servicediscovery/zookeeper/go-server/assembly/windows/test.sh
diff --git a/golang/registry/servicediscovery/go-server/profiles/dev/log.yml b/golang/registry/servicediscovery/zookeeper/go-server/profiles/dev/log.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-server/profiles/dev/log.yml
copy to golang/registry/servicediscovery/zookeeper/go-server/profiles/dev/log.yml
diff --git a/golang/registry/servicediscovery/zookeeper/go-server/profiles/dev/server.yml b/golang/registry/servicediscovery/zookeeper/go-server/profiles/dev/server.yml
new file mode 100755
index 0000000..56e309c
--- /dev/null
+++ b/golang/registry/servicediscovery/zookeeper/go-server/profiles/dev/server.yml
@@ -0,0 +1,75 @@
+# dubbo server yaml configure file
+
+
+# application config
+application:
+  organization: "ikurento.com"
+  name: "user-info-server"
+  module: "dubbogo user-info server"
+  version: "0.0.1"
+  owner: "ZX"
+  environment: "dev"
+  metadataType: "local"
+
+
+registries:
+  "demoServiceDiscovery":
+    protocol: "service-discovery"
+    params:
+      service_discovery: "zk-dis"
+      name_mapping: "in-memory"
+      metadata: "default"
+
+remote:
+  zk1:
+    address: "127.0.0.1:2181"
+    timeout: "5s"
+
+metadata_report:
+  protocol: "zookeeper"
+  remote_ref: "zk1"
+
+service_discovery:
+  zk-dis:
+    protocol: "zookeeper"
+    remote_ref: "zk1"
+
+services:
+  "UserProvider":
+    # 可以指定多个registry,使用逗号隔开;不指定默认向所有注册中心注册
+    registry: "demoServiceDiscovery"
+    protocol: "dubbo"
+    # 相当于dubbo.xml中的interface
+    interface: "com.ikurento.user.UserProvider"
+    loadbalance: "random"
+    warmup: "100"
+    cluster: "failover"
+    methods:
+      - name: "GetUser"
+        retries: 1
+        loadbalance: "random"
+
+protocols:
+  "dubbo":
+    name: "dubbo"
+    port: 20000
+
+
+protocol_conf:
+  dubbo:
+    session_number: 700
+    session_timeout: "180s"
+    getty_session_param:
+      compress_encoding: false
+      tcp_no_delay: true
+      tcp_keep_alive: true
+      keep_alive_period: "120s"
+      tcp_r_buf_size: 262144
+      tcp_w_buf_size: 65536
+      pkg_rq_size: 1024
+      pkg_wq_size: 512
+      tcp_read_timeout: "1s"
+      tcp_write_timeout: "5s"
+      wait_timeout: "1s"
+      max_msg_len: 1024000
+      session_name: "server"
diff --git a/golang/registry/servicediscovery/go-client/profiles/dev/log.yml b/golang/registry/servicediscovery/zookeeper/go-server/profiles/release/log.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-client/profiles/dev/log.yml
copy to golang/registry/servicediscovery/zookeeper/go-server/profiles/release/log.yml
diff --git a/golang/registry/servicediscovery/go-server/profiles/dev/server.yml b/golang/registry/servicediscovery/zookeeper/go-server/profiles/release/server.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-server/profiles/dev/server.yml
copy to golang/registry/servicediscovery/zookeeper/go-server/profiles/release/server.yml
diff --git a/golang/registry/servicediscovery/go-client/profiles/dev/log.yml b/golang/registry/servicediscovery/zookeeper/go-server/profiles/test/log.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-client/profiles/dev/log.yml
copy to golang/registry/servicediscovery/zookeeper/go-server/profiles/test/log.yml
diff --git a/golang/registry/servicediscovery/go-server/profiles/dev/server.yml b/golang/registry/servicediscovery/zookeeper/go-server/profiles/test/server.yml
similarity index 100%
copy from golang/registry/servicediscovery/go-server/profiles/dev/server.yml
copy to golang/registry/servicediscovery/zookeeper/go-server/profiles/test/server.yml
diff --git a/golang/registry/servicediscovery/java-client/build.sh b/golang/registry/servicediscovery/zookeeper/java-client/build.sh
similarity index 100%
copy from golang/registry/servicediscovery/java-client/build.sh
copy to golang/registry/servicediscovery/zookeeper/java-client/build.sh
diff --git a/golang/registry/servicediscovery/java-client/pom.xml b/golang/registry/servicediscovery/zookeeper/java-client/pom.xml
similarity index 100%
copy from golang/registry/servicediscovery/java-client/pom.xml
copy to golang/registry/servicediscovery/zookeeper/java-client/pom.xml
diff --git a/golang/registry/servicediscovery/java-client/settings.xml b/golang/registry/servicediscovery/zookeeper/java-client/settings.xml
similarity index 100%
copy from golang/registry/servicediscovery/java-client/settings.xml
copy to golang/registry/servicediscovery/zookeeper/java-client/settings.xml
diff --git a/golang/registry/servicediscovery/java-client/src/main/assembly/assembly.xml b/golang/registry/servicediscovery/zookeeper/java-client/src/main/assembly/assembly.xml
similarity index 100%
copy from golang/registry/servicediscovery/java-client/src/main/assembly/assembly.xml
copy to golang/registry/servicediscovery/zookeeper/java-client/src/main/assembly/assembly.xml
diff --git a/golang/registry/servicediscovery/java-client/src/main/java/com/ikurento/user/Consumer.java b/golang/registry/servicediscovery/zookeeper/java-client/src/main/java/com/ikurento/user/Consumer.java
similarity index 100%
copy from golang/registry/servicediscovery/java-client/src/main/java/com/ikurento/user/Consumer.java
copy to golang/registry/servicediscovery/zookeeper/java-client/src/main/java/com/ikurento/user/Consumer.java
diff --git a/golang/registry/servicediscovery/java-client/src/main/java/com/ikurento/user/User.java b/golang/registry/servicediscovery/zookeeper/java-client/src/main/java/com/ikurento/user/User.java
similarity index 100%
copy from golang/registry/servicediscovery/java-client/src/main/java/com/ikurento/user/User.java
copy to golang/registry/servicediscovery/zookeeper/java-client/src/main/java/com/ikurento/user/User.java
diff --git a/golang/registry/servicediscovery/java-client/src/main/java/com/ikurento/user/UserProvider.java b/golang/registry/servicediscovery/zookeeper/java-client/src/main/java/com/ikurento/user/UserProvider.java
similarity index 100%
copy from golang/registry/servicediscovery/java-client/src/main/java/com/ikurento/user/UserProvider.java
copy to golang/registry/servicediscovery/zookeeper/java-client/src/main/java/com/ikurento/user/UserProvider.java
diff --git a/golang/registry/servicediscovery/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml b/golang/registry/servicediscovery/zookeeper/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml
similarity index 100%
copy from golang/registry/servicediscovery/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml
copy to golang/registry/servicediscovery/zookeeper/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml
diff --git a/golang/registry/servicediscovery/java-client/src/main/resources/META-INF/spring/service.xml b/golang/registry/servicediscovery/zookeeper/java-client/src/main/resources/META-INF/spring/service.xml
similarity index 100%
copy from golang/registry/servicediscovery/java-client/src/main/resources/META-INF/spring/service.xml
copy to golang/registry/servicediscovery/zookeeper/java-client/src/main/resources/META-INF/spring/service.xml
diff --git a/golang/registry/servicediscovery/java-client/src/main/resources/dubbo.properties b/golang/registry/servicediscovery/zookeeper/java-client/src/main/resources/dubbo.properties
similarity index 100%
copy from golang/registry/servicediscovery/java-client/src/main/resources/dubbo.properties
copy to golang/registry/servicediscovery/zookeeper/java-client/src/main/resources/dubbo.properties
diff --git a/golang/registry/servicediscovery/java-client/src/main/resources/log4j.properties b/golang/registry/servicediscovery/zookeeper/java-client/src/main/resources/log4j.properties
similarity index 100%
copy from golang/registry/servicediscovery/java-client/src/main/resources/log4j.properties
copy to golang/registry/servicediscovery/zookeeper/java-client/src/main/resources/log4j.properties
diff --git a/golang/registry/servicediscovery/java-server/build.sh b/golang/registry/servicediscovery/zookeeper/java-server/build.sh
similarity index 100%
copy from golang/registry/servicediscovery/java-server/build.sh
copy to golang/registry/servicediscovery/zookeeper/java-server/build.sh
diff --git a/golang/registry/servicediscovery/java-server/pom.xml b/golang/registry/servicediscovery/zookeeper/java-server/pom.xml
similarity index 100%
copy from golang/registry/servicediscovery/java-server/pom.xml
copy to golang/registry/servicediscovery/zookeeper/java-server/pom.xml
diff --git a/golang/registry/servicediscovery/java-server/script/debug.sh b/golang/registry/servicediscovery/zookeeper/java-server/script/debug.sh
similarity index 100%
copy from golang/registry/servicediscovery/java-server/script/debug.sh
copy to golang/registry/servicediscovery/zookeeper/java-server/script/debug.sh
diff --git a/golang/registry/servicediscovery/java-server/src/main/assembly/assembly.xml b/golang/registry/servicediscovery/zookeeper/java-server/src/main/assembly/assembly.xml
similarity index 100%
copy from golang/registry/servicediscovery/java-server/src/main/assembly/assembly.xml
copy to golang/registry/servicediscovery/zookeeper/java-server/src/main/assembly/assembly.xml
diff --git a/golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/Provider.java b/golang/registry/servicediscovery/zookeeper/java-server/src/main/java/com/ikurento/user/Provider.java
similarity index 100%
copy from golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/Provider.java
copy to golang/registry/servicediscovery/zookeeper/java-server/src/main/java/com/ikurento/user/Provider.java
diff --git a/golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/User.java b/golang/registry/servicediscovery/zookeeper/java-server/src/main/java/com/ikurento/user/User.java
similarity index 100%
copy from golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/User.java
copy to golang/registry/servicediscovery/zookeeper/java-server/src/main/java/com/ikurento/user/User.java
diff --git a/golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/UserProvider.java b/golang/registry/servicediscovery/zookeeper/java-server/src/main/java/com/ikurento/user/UserProvider.java
similarity index 100%
copy from golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/UserProvider.java
copy to golang/registry/servicediscovery/zookeeper/java-server/src/main/java/com/ikurento/user/UserProvider.java
diff --git a/golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java b/golang/registry/servicediscovery/zookeeper/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java
similarity index 100%
copy from golang/registry/servicediscovery/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java
copy to golang/registry/servicediscovery/zookeeper/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java
diff --git a/golang/registry/servicediscovery/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml b/golang/registry/servicediscovery/zookeeper/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml
similarity index 100%
copy from golang/registry/servicediscovery/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml
copy to golang/registry/servicediscovery/zookeeper/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml
diff --git a/golang/registry/servicediscovery/java-server/src/main/resources/dubbo.properties b/golang/registry/servicediscovery/zookeeper/java-server/src/main/resources/dubbo.properties
similarity index 100%
copy from golang/registry/servicediscovery/java-server/src/main/resources/dubbo.properties
copy to golang/registry/servicediscovery/zookeeper/java-server/src/main/resources/dubbo.properties
diff --git a/golang/registry/servicediscovery/java-server/src/main/resources/log4j.properties b/golang/registry/servicediscovery/zookeeper/java-server/src/main/resources/log4j.properties
similarity index 100%
copy from golang/registry/servicediscovery/java-server/src/main/resources/log4j.properties
copy to golang/registry/servicediscovery/zookeeper/java-server/src/main/resources/log4j.properties
diff --git a/java/dubbo-samples-cloud-native/dubbo-demo-servicediscovery-xml/servicediscovery-provider/src/main/resources/spring/dubbo-provider.xml b/java/dubbo-samples-cloud-native/dubbo-demo-servicediscovery-xml/servicediscovery-provider/src/main/resources/spring/dubbo-provider.xml
index 5d9f62e..078af9d 100644
--- a/java/dubbo-samples-cloud-native/dubbo-demo-servicediscovery-xml/servicediscovery-provider/src/main/resources/spring/dubbo-provider.xml
+++ b/java/dubbo-samples-cloud-native/dubbo-demo-servicediscovery-xml/servicediscovery-provider/src/main/resources/spring/dubbo-provider.xml
@@ -21,13 +21,15 @@
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
        http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
 
-    <dubbo:application name="demo-provider"/>
+    <dubbo:application name="demo-provider" metadata-type="remote"/>
 
 <!--    <dubbo:registry address="zookeeper://127.0.0.1:2181?registry-type=service"/>-->
-    <dubbo:registry address="zookeeper://127.0.0.1:2181?registry-type=service"/>
+    <dubbo:registry address="nacos://127.0.0.1:8848?registry-type=service"/>
 
     <dubbo:protocol name="dubbo" port="20881"/>
 
+    <dubbo:metadata-report address="nacos://127.0.0.1:8848" />
+
     <bean id="demoService" class="org.apache.dubbo.demo.provider.DemoServiceImpl"/>
 
     <dubbo:service interface="org.apache.dubbo.demo.DemoService" ref="demoService" weight="12"/>