You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by zh...@apache.org on 2021/09/04 15:58:05 UTC

[dubbo-go-samples] branch 3.0 updated (ae7a48a -> 5582c91)

This is an automated email from the ASF dual-hosted git repository.

zhaoyunxing pushed a change to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git.


    omit ae7a48a  Add dubbo3-protobuf-nacos sample (#194)
    omit bb02c7f  fix java User pojo id to ID (#202)
    omit 2b2ac7d  Tst: Add parameterless call test for generic invocation (#197)
    omit da000ec  style(*): format imports with dubbogo/tools/imports-formatter (#188)
    omit a26e3ed  Merge pull request #198 from zhaoyunxing92/3.0
    omit 49e24e2  添加应用级服务发现.run
    omit 2898f66  remove files (#196)
    omit 88ebe6c  Tst: Add new test for generic invocation (#189)
    omit dc4fd76  Ftr: Generic invocation supports generalizer.Generalizer (#170)
    omit 242b869  add multi-zone run/debug configuration (#181)
    omit de22699  Fix: fix 3.0 branch game integrate error & delete useless file (#185)
    omit 52b8c28  change the wrong comment
    omit 3e24f59  Ftr: 3.0 lumberjack log sample (#179)
    omit 6120585  update howto doc (#177)
    omit 48c218e  Fix: delete useless & wrong xml files in .run folder (#173)
    omit 7ac498f  fix: add chain middle wait time
    omit 6ca280f  fix: add waiter after middle start
    omit ec8ae68  fix: fix chan middle waiter
    omit 8f94478  fix: add chan zk waiter
    omit 49dc917  docker Waiter for all samples (#176)
    omit 167afb3  Mod: modify import blocks for branch 3.0 (#167)
    omit 37c4cfa  fix (#175)
    omit cdda6fc  Fix: multi-zone imports (#172)
    omit 0a1f5a4  Feature/etcd service discovery (#164)
    omit cca4102  Tracing integration new (#163)
    omit 6ff8949  Ftr: Add integration test multi-server support (#161)
    omit c875ae7  fix: fix dynamic naming mapping of app level service disc (#155)
    omit 7e51e8a  Revert "add tracing integration test (#156)" (#162)
    omit 7c8fc1c  add tracing integration test (#156)
    omit 8534c34  fix: delete unused
    omit beb3c69  fix: java demo
    omit 6355b5b  Rft: Metadata service (#157)
    omit 1bc04f1  hessian.RegisterPOJO(&pkg.User{}) 重复调用 (#154)
    omit 2b0b10b  add service discovery .run (#151)
    omit a1da198  fix: fix side effect (#147)
    omit fbabb97  add filter to test/client.yml (#146)
    omit 9d28e97  add .run xml for goland to quick start (#129)
    omit d113ee8  Fix: seata panic , attachment to AttachmentKey (#148)
    omit 384c872  fix(tracing): add StartSpanFromContext to jaeger test case & fix some error (#145)
    omit a3cba30  fix: fix multi registry integrate test (#144)
    omit 5f7fd09  Merge pull request #142 from zhaoyunxing92/seata
    omit abfa055  fmt file
    omit c11251c  add seata run
    omit 1fa60b6  fix: add 3.0 test (#141)
    omit 4aa783b  fix: update dubbogo version and integrate test
    omit 86137ea  Fix: change 3.0 streaming test and samples to reactive (#140)
    omit defcc32  add triple integration test (#139)
    omit f7fa507  Tst: add router to integration and fix hessian2 sample (#124)
    omit c1dd832  mod jsonrpc catalogue (#126)
    omit da8780a  Ftr/3.0msgpack and triple codec extension samples (#138)
    omit 848b52b  application service discovery nacos reporter example (#123)
    omit 0cbbc12  update dubbo-go version (#137)
    omit 508450c  fix:  3.0 triple/grpc provider generated reference function by proto-gen-dubbo (#128)
    omit c593b46  Dep: Rename import name for remotingMetadataService (#132)
    omit 0204aa8  bump dubbo-go version (#131)
    omit a06e170  Ftr: Tengine Calls Dubbo-go Example (#122)
    omit e6ea018  fix: updata go get dubbo-gen script (#105)
    omit 30a4239  add etcd integrate test (#107)
    omit 480e220  Merge pull request #106 from ztelur/3.0
    omit 2da1d0f  improve etcd version
    omit 0eee127  3.0test (#102)
    omit 0391ea1  fix: add service-disc zk client .run
    omit 3a17ab1  Ftr/dubbo3 (#81)
    omit ad54376  Merge pull request #84 from horizonzy/fix-directory-problem
    omit fcabfc7  fix directory problem.
    omit a9611d5  Merge pull request #80 from apache/fix/Id
    omit 867e84a  Id -> ID
    omit 09fe57d  Merge pull request #79 from zfkun/game
    omit fd8dba7  add:game samples
    omit 091a70a  Merge pull request #68 from cjphaha/tls
    omit 96a7667  Merge pull request #78 from xiaoliu10/fix_zk_configcenter
    omit 26ee38d  Merge pull request #77 from zhaoyunxing92/generic
    omit 903836b  1. fix zk configcenter can not found zk node
    omit f710bd4  up:mv it to the 3rd import block
    omit 72d67bc  up:mv it to the 3rd import block
    omit 529412a  add:generic samples
    omit 6915bbb  mod Id to ID
    omit f09c490  del blank line go-server/pkg/user.go
    omit 02a9c8c  Merge pull request #70 from milerL/nacos
    omit 5565f5c  Merge pull request #75 from zhaoyunxing92/multi-registry
    omit 4a7e053  up:语法问题
    omit 4b1439a  up:更新导报问题
    omit f7604ca  add:multi registry
    omit 800b322  Merge pull request #73 from xiaoliu10/upgrade_seata_version
    omit 3e892e3  mod refmt go-client/pkg/user
    omit 6cc79ea  mod problems in pr
    omit 7d40940  Merge pull request #72 from beiwei30/hello-world
    omit 07edb96  Upgrade the Seata version to adapt the Getty WritePkg method to increase the return value
    omit d9304c9  Upgrade the Seata version to adapt the Getty WritePkg method to increase the return value
    omit 0ab36fc  fix: issue#71
    omit 76f2b1c  修改:修复registry/nacos示例无法正常使用的问题,调整client.yml和server.yml方便阅读
    omit ac38818  adjust import sequence in nacos
    omit 7f64aed  add apache license & mod folder
    omit 84c0a7e  add tls sample
    omit 101f7e9  Merge pull request #52 from yakecanlee/feature/add-sample
    omit 1fca0de  fix helloworld sample
    omit bacaeed  fix error imports
    omit 49f45a6  fix helloworld java sample
    omit 8ec9fbe  adjust imports and readme
    omit 0f65d0b  group the imports
    omit aeab8f8  add readme_zh for samples
    omit 38ed266  add run configuration for samples
    omit 33eafbe  add readme and run configuration for rest sample
    omit 8863839  add readme for group
    omit 71cf228  add readme for generic and helloworld
    omit a804655  Merge pull request #62 from beiwei30/configcenter
    omit 12a139c  fix: regroup import for nacos configcenter
    omit 502c238  fix: regroup imports
    omit e5999a2  Merge pull request #66 from beiwei30/filter
    omit ae3feca  Merge pull request #64 from beiwei30/docker
    omit 219ffe3  Merge pull request #63 from beiwei30/direct
    omit d75c0be  enable IT for configcenter/zookeeper and filter/sentinel
    omit aacfd85  fix: make integration test work for custom filter, correct dir
    omit a01ac0a  fix: README for filter samples
    omit cf6167f  fix: revise README
    omit b620ba6  fix: group import, add run files
    omit 6113e69  fix: add run configs for docker
    omit f9e711f  fix: regroup import
    omit ec9f630  fix: regroup imports
    omit 7df670e  configcenter readme, import and run files
    omit b970ee8  Merge pull request #57 from beiwei30/config-api
    omit a300659  Merge pull request #61 from zhaoyunxing92/master
    omit 42fa80e  up:调整import顺序
    omit e575e56  Merge pull request #59 from PhilYue/feature/direct/readme
    omit a25270e  修复语法错误
    omit b004549  add:metric readme
    omit 41d83f4  Add: fix the .run for direct
    omit 80d6086  Add: .run for direct
    omit 47c5008  Doc: improving README and README_zh
    omit 176cbe4  Mod: clear out the unneeded config
    omit f7bd0b1  Merge pull request #55 from beiwei30/async
    omit 9806c48  Merge pull request #58 from beiwei30/context
    omit bb4b680  Doc: formatting docs of README_zh
    omit 2f4856d  optmize imports
    omit c5d7635  optimize imports
    omit a17295c  Doc: formatting docs of README and cleaning
    omit 4bfdc91  Doc: formatting docs of README
    omit 28f6443  Doc: improving docs of README
    omit 207264e  Doc: adding direct README_zh and cleaning
    omit ca13cd8  fix: regroup import
    omit 302ab73  add:metric文档
    omit ca1e14b  feat: add run configs, and regroup import
    omit 195b985  fix: regroup imports
    omit 7f05bde  fix: add run configs, bump up dubbo-go version, revise README
    omit d7687f2  Doc: adding direct README
    omit 97e33bb  Merge pull request #4 from apache/master
    omit 52644af  Merge pull request #53 from zhaoyunxing92/master
    omit 58e82e7  add README
    omit eb2e0ee  Merge pull request #3 from apache/master
    omit 566af02  add run configurations and fix client issue.
    omit 725de98  Merge pull request #54 from beiwei30/chain
    omit ae86a09  group var declaration
    omit 58c828b  optimize imports
    omit 2525e05  add apache license header
    omit d2bf83e  add "chain" example
    omit cb325dd  Merge pull request #2 from apache/master
    omit b393262  add:metric文档
    omit df451eb  Merge pull request #51 from LaurenceLiZhixin/fix/etcd
    omit cb3b01b  Merge pull request #49 from lauyang/patch-2
    omit a594672  fix: add provide_by
    omit c6e5758  Update README_zh.md
    omit 6be9874  Merge pull request #48 from dk-lockdown/master
    omit 497cc48  upgrade seata-golang version
    omit bb7a0d6  Merge pull request #43 from LaurenceLiZhixin/ftr/docker
    omit 4b3fb3b  Merge pull request #44 from LaurenceLiZhixin/ftr/config-api
    omit 2b4f2ac  Merge pull request #45 from LaurenceLiZhixin/fix/consul-readme
    omit fe189cd  Merge pull request #46 from LaurenceLiZhixin/ftr/context
    omit dedc754  fix: add consul readme
    omit a3d14e6  fix: add zh readme
    omit 0b01f9d  fix: add zh readme
    omit 6632817  fix: add cn readme
    omit 5c609cb  Merge pull request #47 from cityiron/1.5.6-test
    omit e614f74  update dubbogo to 1.5 latest commit
    omit 92e0a93  ftr: context sample
    omit ae13df4  fix: consul readme
    omit c5b09e7  ftr:config api
    omit f96fe82  ftr: add docker
    omit 425b1a2  Merge pull request #41 from beiwei30/attachment-run-config
    omit 224f018  Merge pull request #40 from beiwei30/translate
    omit 5e69c94  provide run configuration for attachment sample
    omit f19b59f  provide HOWTO, and translate all docs into Chinese.
    omit 91c2483  Merge pull request #39 from beiwei30/docs
    omit 8f37179  enhance docs
    omit 885db97  Merge pull request #38 from zhaoyunxing92/master
    omit 6f5c173  add:.run file
    omit 7bbd016  Merge pull request #37 from beiwei30/attachment
    omit b5867ec  add zh_CN README
    omit f896ca7  comment sentinel tempararily
    omit aef62db  adjust sentinel version
    omit 1b1db7b  bump up sentinel-go version to v1.0.2
    omit e452c22  add CI badge
    omit 7257826  add attachment sample
    omit 1e9b072  Merge branch '1.5.5'
    omit de91c00  merge master
    omit df07a3e  merge master
    omit 86a6f7b  Merge pull request #24 from fangyincheng/fix-2.7
    omit 329248b  Merge pull request #32 from LaurenceLiZhixin/fix/grpcStreamBug
    omit 5ac5646  Merge pull request #31 from louyuting/20201227-update-sentinel-go
    omit 145b86c  fix: fix dubbo grpc stream bug
    omit 469fe78  upgrade sentinel go to 1.0.1
    omit 49609b5  refact generic/java
    omit ac5b159  resolve conflicts
    omit a2ec4b1  Merge pull request #17 from apache/1.5.5
    omit 0c6af36  update version for release
    omit d439511  update version
    omit c7048b9  update version
    omit 7f02dae  resolve conflicts
    omit dd4be5b  add java for general
    omit 3e66db1  Merge pull request #27 from apache/fix_mod
    omit ab98b4e  resolve conflict
    omit 8736511  fix: go mod tidy error
    omit 95b1fae  fix router problem
    omit 740f2f7  Merge pull request #25 from georgehao/1.5.5
    omit 37850bb  Merge pull request #23 from cityiron/fix-sd-file
    omit fa829be  Merge branch '1.5.5' into 1.5.5-georgehao
    omit 1b1fa1f  Merge branch '1.5.5' into fix-sd-file
    omit 2fd951f  remove sd/consul
    omit bb10e58  merge
    omit 3274111  add provid_by
    omit ed77fa5  feat: add registry/servicediscovery/etcd client.yaml add provide_by
    omit 657cf27  modify consul demo to support makefile (#22)
    omit 061030c  test
    omit dd84b14  Merge pull request #21 from LaurenceLiZhixin/1.5.5
    omit 44bd9a5  Merge pull request #20 from cityiron/seata-sample
    omit 398f653  fix: change pb.go
    omit 9d10173  fix: use protobuf 1.3.2 to generate proper pb.go
    omit de843d1  fix: re cicd
    omit 92c0711  fix: dubbo-go repository path
    omit 12e1125  add integrate
    omit ff07427  change client name equals provider
    omit 1d00fc6  remove seata mod
    omit 7a992b8  Merge pull request #16 from pantianying/sentinel-filter
    omit e8b3c67  fix: delete unused gosum
    omit 0f66623  fix: change grpc and sentinel version
    omit 5f5e8e7  fix bug
    omit a735fdc  add script on integrate
    omit f53386f  fix router case
    omit 44fda64  seata sample run
    omit a031c0f  fix sd/zookeeper case
    omit 83f126f  Merge remote-tracking branch 'apache-dubbo-go-samples/1.5.5' into 1.5.5
    omit 1680468  add sd/zookeeper case
    omit cfd2c00  Update dubbo-go version
    omit 1aa054f  Update dubbo-go version
    omit 0723cca  fix test problem
    omit dad13c6  update version num
    omit f2c5cc5  update pkg
    omit 498e589  Merge pull request #19 from mark4z/master
    omit 8dea98d  add sd/zookeeper case
    omit 321a312  fix integration
    omit 7db7587  fix integration
    omit 70662bb  Update dubbo-go version
    omit b8c2ea5  Update dubbo-go version
    omit d6ef2ef  fix test problem
    omit 6860d94  update version num
    omit d419676  add integration test
    omit 68f9cb6  add sentinel-filter sample
    omit 1061538  Merge pull request #15 from zouyx/master
    omit 69ee55b  remove multi-registry case
    omit 32974b3  remove router/tag case and fix zookeeper service discovery case
    omit 4323b16  remove configcenter/zookeeper case
    omit fca4c3c  fix test problem
    omit c6c8223  fix test problem
    omit 19490a7  fix test problem
    omit 700b171  fix test problem
    omit 43bfcd5  add configcenter/zookeeper case
    omit cc6e794  change log level
    omit 8935e9f  add more test case
    omit 0ba46db  update pkg
    omit b1cc35c  Merge pull request #13 from zouyx/master
    omit 90d7aec  change log level
    omit ecb1e84  fix test problem
    omit 23f4ccb  remove test
    omit e948015  change test method
    omit 718b4f1  fix test problem
    omit 1add7c8  add exit code for test
    omit 6436108  add exit code for test
    omit 6223164  Test return exit code when panic
    omit a2ed46c  Fix Makefile bug
    omit 1882fd2  change stop to clean step
    omit a9808d8  delete useless files
    omit 9e52237  1.change log level for async dir 2.revert makefile
    omit 7c52339  1.delete useless dir 2.add _ "github.com/apache/dubbo-go/metadata/service/inmemory" for all test dir 3.change log level to error
    omit 2d36800  fix problems
    omit eb0aecd  add more test case
    omit 2e433b3  add more test case
    omit a7d4e82  add more test case
    omit a333952  add more test case
    omit 2533021  add more test case
    omit 22493e1  add more test case
    omit 0207628  update test case
    omit 5d585d2  update test case
    omit 08417eb  fix problems
    omit bf718cd  fix problems
    omit 027d614  add general test
    omit e00e54e  add general test
    omit ac06aa4  Merge branch 'master-apache-dubbo-go-samples'
    omit 19caad0  Merge branch 'master-apache-dubbo-go-samples'
    omit 919222d  fix problems
    omit b902b00  Merge remote-tracking branch 'origin/master'
    omit 4c0d8df  Merge branch 'feature/addTravis'
    omit ff7ed65  add github action
    omit 7bf5670  Update blank.yml
    omit d1e1b08  add github action
    omit f385cbc  add github action
    omit 66eaa87  Create blank.yml
    omit 904a232  Merge pull request #12 from zouyx/master
    omit 2793183  fix bug
    omit fd1ccfd  fix problems
    omit 795ef6c  rename package
    omit 92319db  fix package problem
    omit d7773ce  add travis
    omit 6a87059  make grpc work with integration test
    omit db32d44  make general/dubbo work with integration test
    omit eca144a  make integration test work for router/condition
    omit e11dab6  enhance makefile
    omit 1eb5b31  enhance makefile to allow replace variables in conf yaml files.
    omit 8630dff  servicediscovery/zookeeper
    omit 4e372b2  make registry/servicediscovery/nacos work with integration test
    omit 9979a21  make registry/servicediscovery/file work with integration test
    omit 4e25961  correct registry/servicediscovery/etcd
    omit 218caa4  add a FIXME
    omit e5909a9  refresh dubbo-go to snapshot, make servicediscovery/etcd works.
    omit 4d34a4f  make integration test works for registry/nacos
    omit 33a0f2e  make integration test work for registry/etcd
    omit 5ce065e  reformat helloworld
    omit 339e5ff  make integration test work for multi-registry
    omit 208abb7  enhance makefile
    omit c25e8aa  rename dir
    omit 104c314  make integration test work for metric and zone
    omit 62b7282  fix PID
    omit c666d1c  Merge pull request #10 from zouyx/feature/fixAutoTest
    omit 34dfe3d  Merge pull request #9 from apache/tag_router
    omit 6f8cda7  Fix: fmt codes
    omit 84f4936  Fix: fmt codes
    omit 7406106  Fix: lost a pkg in general
    omit 953673d  Add: tag router examples
    omit ed3f3d1  Merge pull request #8 from zouyx/feature/fixAutoTest
    omit 9607e80  change test steps
    omit 33a5de3  change dir
    omit ba5f0fd  start integrate test
    omit 25f33f8  remove problems code
    omit f3de20f  delete
    omit 7b9e32f  travis add Make
    omit e0e2fbe  make integration test works for metrics
    omit 47811fd  clean up useless code
    omit 2142d1e  make integration test works for filter/tpslimit
    omit 5c07bf5  make integration test works for fiter/custom_filter
    omit f19feed  Merge pull request #7 from zhangshen023/consul_service_discovery
    omit f2dfc66  make integration test work for configcenter/zookeeper
    omit aeb1750  remove useless java dirs
    omit 20e4f90  make integration test works for nacos
    omit cdbddd8  clean up imports
    omit a591c09  make integration test works for configcenter/apollo
    omit e42f3d2  make integration test works for async
    omit b1fa2c6  make integration test works for direct
    omit b3fdafb  make IT works for generic samples
    omit f71bec1  code optimization
    omit 3722ee2  format import
    omit 1680a19  Merge pull request #3 from LaurenceLiZhixin/feat/grpc-stream-support
    omit 680f884  fix:import block
    omit 5536f32  consul service discovery sample
    omit 0da9873  update README, remove 'dubbo' sub dir from 'helloworld'
    omit 681e209  use makefile for helloworld client and server
    omit 4f72d63  enhance config and package name
    omit 7983c93  enhance makefile
    omit 39f5571  integration test for helloworld service
    omit 653c445  Merge pull request #5 from zouyx/feature/fixAutoTest
    omit 15a68f6  enable issues
    omit 28bb1f0  Merge pull request #4 from zouyx/feature/fixAutoTest
    omit c8444c5  Create .asf.yaml
    omit 7e1b8b1  feat: add grpc stream sample
    omit eba7616  Merge pull request #2 from zouyx/feature/fixAutoTest
    omit 744819c  Merge pull request #1 from zouyx/feature/fixAutoTest
     add 62367b3  Merge pull request #1 from zouyx/feature/fixAutoTest
     add 327e16c  Merge pull request #2 from zouyx/feature/fixAutoTest
     add ca6e66c  Create .asf.yaml
     add adc5872  Merge pull request #4 from zouyx/feature/fixAutoTest
     add 6250197  enable issues
     add 285dc81  Merge pull request #5 from zouyx/feature/fixAutoTest
     add 198faaf  feat: add grpc stream sample
     add 9b85b42  fix:import block
     add befeee3  Merge pull request #3 from LaurenceLiZhixin/feat/grpc-stream-support
     add 6a59417  format import
     add da89cd8  consul service discovery sample
     add a5d7cb8  code optimization
     add e2a30f0  Merge pull request #7 from zhangshen023/consul_service_discovery
     add d6bb136  fix bug
     add 4b81bff  integration test for helloworld service
     add edf050e  enhance makefile
     add 58fb84b  enhance config and package name
     add 4346c49  use makefile for helloworld client and server
     add ed46acc  update README, remove 'dubbo' sub dir from 'helloworld'
     add 2825696  make IT works for generic samples
     add f61bb7f  make integration test works for direct
     add 6952ae2  make integration test works for async
     add 807a28c  make integration test works for configcenter/apollo
     add 653871b  clean up imports
     add 2f08ee6  make integration test works for nacos
     add 0b7b136  remove useless java dirs
     add d68eaf6  make integration test work for configcenter/zookeeper
     add c453c5e  make integration test works for fiter/custom_filter
     add ed55826  make integration test works for filter/tpslimit
     add b6e8d28  clean up useless code
     add 86f06e2  make integration test works for metrics
     add 4656ad4  travis add Make
     add e5449a1  delete
     add 8a1b407  remove problems code
     add ebb3c60  start integrate test
     add eac5647  change dir
     add 3083eed  change test steps
     add 723530b  fix PID
     add 6e1323f  make integration test work for metric and zone
     add f2ce2dd  rename dir
     add aa17eaa  enhance makefile
     add 6fb39f7  make integration test work for multi-registry
     add 680525b  reformat helloworld
     add 709879b  make integration test work for registry/etcd
     add 4e611c4  make integration test works for registry/nacos
     add dafa9ce  refresh dubbo-go to snapshot, make servicediscovery/etcd works.
     add fe2dbd2  add a FIXME
     add 5c12aaa  correct registry/servicediscovery/etcd
     add 062fd67  make registry/servicediscovery/file work with integration test
     add af44f46  make registry/servicediscovery/nacos work with integration test
     add d9b6eb1  servicediscovery/zookeeper
     add 9ac78ce  enhance makefile to allow replace variables in conf yaml files.
     add 497fd36  enhance makefile
     add 62eaba8  make integration test work for router/condition
     add 242b0ab  make general/dubbo work with integration test
     add 92396ef  make grpc work with integration test
     add c603517  add travis
     add 9d3257a  fix package problem
     add 603bca5  rename package
     add 596bf96  fix problems
     add 477cdb4  add github action
     add 60032e0  add github action
     add 9fe11cc  add github action
     add c06ff0b  Merge branch 'feature/addTravis'
     add e179a3b  Create blank.yml
     add 54b33d6  Update blank.yml
     add 05f5174  Merge remote-tracking branch 'origin/master'
     add b352f67  fix problems
     add 6d7960d  Merge pull request #8 from zouyx/feature/fixAutoTest
     add b7fab58  Add: tag router examples
     add c70347b  Fix: lost a pkg in general
     add 49f7ade  Fix: fmt codes
     add f4c360c  Fix: fmt codes
     add 0fa373a  Merge pull request #9 from apache/tag_router
     add 8bd4d9a  Merge pull request #10 from zouyx/feature/fixAutoTest
     add ade3126  Merge branch 'master-apache-dubbo-go-samples'
     add 3682b10  Merge pull request #12 from zouyx/master
     add 83ce5a6  Merge branch 'master-apache-dubbo-go-samples'
     add 18dd683  add general test
     add 46032d4  add general test
     add 9ee0bfb  fix problems
     add 61eb4c4  fix problems
     add b420a9f  update test case
     add d512a10  update test case
     add 6d3fe90  add more test case
     add 72d11e2  add more test case
     add 4fc6fc5  add more test case
     add c4ae316  add more test case
     add 16d67f1  add more test case
     add a2d0cf7  add more test case
     add c25845d  fix problems
     add 5e263ff  1.delete useless dir 2.add _ "github.com/apache/dubbo-go/metadata/service/inmemory" for all test dir 3.change log level to error
     add 37950d9  1.change log level for async dir 2.revert makefile
     add e65e2fa  delete useless files
     add 30e5459  change stop to clean step
     add e3d9744  Fix Makefile bug
     add 343a747  Test return exit code when panic
     add 036ca8e  add exit code for test
     add ff553f9  add exit code for test
     add 1fa6bf5  fix test problem
     add 12ad93f  change test method
     add e24a813  remove test
     add acc07e3  fix test problem
     add 91a25c0  change log level
     add 9d406ae  Merge pull request #13 from zouyx/master
     add 4bed1c6  add more test case
     add 1c64d17  change log level
     add 48733d8  add configcenter/zookeeper case
     add 897d981  fix test problem
     add ef67824  fix test problem
     add 824afd8  fix test problem
     add 79d0a1d  fix test problem
     add ccb9654  remove configcenter/zookeeper case
     add 36dc561  remove router/tag case and fix zookeeper service discovery case
     add 2a2f12d  remove multi-registry case
     add 89edc98  Merge pull request #15 from zouyx/master
     add d65d87b  fix integration
     add aebeabb  fix integration
     add 6e6b603  Merge pull request #19 from mark4z/master
     add e7993aa  add sentinel-filter sample
     add 5a80174  add integration test
     add f417877  add script on integrate
     add 54c84a1  fix bug
     add ecc57cb  Merge pull request #16 from pantianying/sentinel-filter
     add 4b50b47  test
     add 2a4b05a  add java for general
     add f6f3286  update pkg
     add 4daefd8  update version num
     add d49f133  fix test problem
     add a1acc23  Update dubbo-go version
     add eb28097  Update dubbo-go version
     add 89907b1  add sd/zookeeper case
     add 2e25d47  update pkg
     add d02874c  update version num
     add 01f19a5  fix test problem
     add abcb43d  Update dubbo-go version
     add e4533a2  Update dubbo-go version
     add 30886bf  add sd/zookeeper case
     add 475054a  Merge remote-tracking branch 'apache-dubbo-go-samples/1.5.5' into 1.5.5
     add 6462b49  fix sd/zookeeper case
     add 8eaedb5  fix router case
     add 2bf0361  fix: go mod tidy error
     add 6ff698e  seata sample run
     add 5e8cc73  remove seata mod
     add ab051f5  change client name equals provider
     add d18040a  add integrate
     add 7c23577  add provid_by
     add d76e545  Merge pull request #20 from cityiron/seata-sample
     add e956b7d  fix: change grpc and sentinel version
     add c76bb8d  fix: delete unused gosum
     add 8268f52  fix: dubbo-go repository path
     add 201992b  fix: re cicd
     add 8c9c239  fix: use protobuf 1.3.2 to generate proper pb.go
     add 5dbaa66  fix: change pb.go
     add cc40470  Merge pull request #21 from LaurenceLiZhixin/1.5.5
     add bc81e94  modify consul demo to support makefile (#22)
     add 7464a65  merge
     add a19f63d  remove sd/consul
     add 279e46b  Merge branch '1.5.5' into fix-sd-file
     add 4884e9c  Merge pull request #23 from cityiron/fix-sd-file
     add 845616f  feat: add registry/servicediscovery/etcd client.yaml add provide_by
     add 2a1c857  Merge branch '1.5.5' into 1.5.5-georgehao
     add b436635  Merge pull request #25 from georgehao/1.5.5
     add 98a15f7  fix router problem
     add 099b960  resolve conflict
     add 1107469  Merge pull request #27 from apache/fix_mod
     add 5ce1f6c  resolve conflicts
     add 3d13bd4  update version
     add 033d650  update version
     add 7f38c96  update version for release
     add 7074301  resolve conflicts
     add 28719de  refact generic/java
     add 50760ee  Merge pull request #24 from fangyincheng/fix-2.7
     add ac30af9  Merge pull request #17 from apache/1.5.5
     add 086e2da  upgrade sentinel go to 1.0.1
     add aadb7e4  Merge pull request #31 from louyuting/20201227-update-sentinel-go
     add dd6c19a  fix: fix dubbo grpc stream bug
     add 2b35ff3  Merge pull request #32 from LaurenceLiZhixin/fix/grpcStreamBug
     add ec4fd0b  merge master
     add b6b347a  merge master
     add 2702e17  Merge branch '1.5.5'
     add 1035c4c  add CI badge
     add f7e0f1a  bump up sentinel-go version to v1.0.2
     add 1f1383d  adjust sentinel version
     add 9b0e1d4  comment sentinel tempararily
     add 3ad64bc  add attachment sample
     add cb715b0  add zh_CN README
     add c25fdc1  Merge pull request #37 from beiwei30/attachment
     add 1c10231  add:.run file
     add ff81b51  Merge pull request #38 from zhaoyunxing92/master
     add 68fbd91  enhance docs
     add ca1fc7d  Merge pull request #39 from beiwei30/docs
     add a2b55f3  provide HOWTO, and translate all docs into Chinese.
     add 0d6018d  Merge pull request #40 from beiwei30/translate
     add 0b02894  provide run configuration for attachment sample
     add ee77fea  Merge pull request #41 from beiwei30/attachment-run-config
     add 1830d30  update dubbogo to 1.5 latest commit
     add 8f4f72b  Merge pull request #47 from cityiron/1.5.6-test
     add 999598f  ftr: context sample
     add 40ce18a  fix: add zh readme
     add 479842f  Merge pull request #46 from LaurenceLiZhixin/ftr/context
     add f4a3715  fix: consul readme
     add 3dd5ad5  fix: add consul readme
     add 3f83dde  Merge pull request #45 from LaurenceLiZhixin/fix/consul-readme
     add fb1b45a  ftr:config api
     add ec253ca  fix: add zh readme
     add 55939ee  Merge pull request #44 from LaurenceLiZhixin/ftr/config-api
     add 761bd1e  ftr: add docker
     add 9328bc0  fix: add cn readme
     add 2e150f5  Merge pull request #43 from LaurenceLiZhixin/ftr/docker
     add 8e3c649  upgrade seata-golang version
     add 0aa1018  Merge pull request #48 from dk-lockdown/master
     add 2f36b6c  Update README_zh.md
     add 3cf6831  Merge pull request #49 from lauyang/patch-2
     add b9df170  fix: add provide_by
     add 9b21628  Merge pull request #51 from LaurenceLiZhixin/fix/etcd
     add f962482  add "chain" example
     add ae6f22a  add apache license header
     add 27238a8  optimize imports
     add a4c5ac2  group var declaration
     add 19c6ece  Merge pull request #54 from beiwei30/chain
     add 8ef9122  add:metric文档
     add dac4b01  Merge pull request #53 from zhaoyunxing92/master
     add db3d56f  feat: add run configs, and regroup import
     add 362078c  optmize imports
     add 7bfb13c  Merge pull request #58 from beiwei30/context
     add c0c8b1c  add run configurations and fix client issue.
     add e8a63fc  add README
     add 2244de1  add:metric文档
     add d6b7714  fix: regroup import
     add c5ced7e  optimize imports
     add 2cccc5f  Merge pull request #55 from beiwei30/async
     add 4af0861  Merge pull request #2 from apache/master
     add e095b64  Merge pull request #3 from apache/master
     add 3686193  Merge pull request #4 from apache/master
     add 9415d1d  Doc: adding direct README
     add 360cb8c  Doc: adding direct README_zh and cleaning
     add a01f1fb  Doc: improving docs of README
     add 1bfa500  Doc: formatting docs of README
     add 0503b4d  Doc: formatting docs of README and cleaning
     add 423bc4e  Doc: formatting docs of README_zh
     add fe1f172  Mod: clear out the unneeded config
     add 394d750  Doc: improving README and README_zh
     add d733e75  Add: .run for direct
     add 4a404ce  Add: fix the .run for direct
     add b8b8ad1  Merge pull request #59 from PhilYue/feature/direct/readme
     add 3468f70  add:metric readme
     add a2bd763  修复语法错误
     add 4a8de47  up:调整import顺序
     add 8addde5  Merge pull request #61 from zhaoyunxing92/master
     add 7cd9182  fix: add run configs, bump up dubbo-go version, revise README
     add faaf7b8  fix: regroup imports
     add 7402ac2  Merge pull request #57 from beiwei30/config-api
     add f3de1c8  fix: regroup imports
     add 14a8acb  Merge pull request #63 from beiwei30/direct
     add 93f99d5  fix: regroup import
     add 7299549  fix: add run configs for docker
     add 50f0fb9  Merge pull request #64 from beiwei30/docker
     add 3685f2d  fix: group import, add run files
     add 215f989  fix: README for filter samples
     add 2319ef1  fix: make integration test work for custom filter, correct dir
     add 0c42094  enable IT for configcenter/zookeeper and filter/sentinel
     add d1503cb  Merge pull request #66 from beiwei30/filter
     add a851232  configcenter readme, import and run files
     add 7a7c27b  fix: revise README
     add 137145d  fix: regroup imports
     add 8e0f74a  fix: regroup import for nacos configcenter
     add e281731  Merge pull request #62 from beiwei30/configcenter
     add f5d3e75  add readme for generic and helloworld
     add 1fdf6ef  add readme for group
     add be3e097  add readme and run configuration for rest sample
     add 78fc2b7  add run configuration for samples
     add d426a71  add readme_zh for samples
     add 84d1727  group the imports
     add 6f91bf3  adjust imports and readme
     add 3723770  fix helloworld java sample
     add da9260c  fix error imports
     add f17c5dc  fix helloworld sample
     add 6f73a0d  Merge pull request #52 from yakecanlee/feature/add-sample
     add 4e8bc84  adjust import sequence in nacos
     add 9ea75d6  fix: issue#71
     add 9665c73  Merge pull request #72 from beiwei30/hello-world
     add 6821dca  Upgrade the Seata version to adapt the Getty WritePkg method to increase the return value
     add eec3ea3  Upgrade the Seata version to adapt the Getty WritePkg method to increase the return value
     add a61d1cc  Merge pull request #73 from xiaoliu10/upgrade_seata_version
     add 2ce35f2  add:multi registry
     add adf3d22  up:更新导报问题
     add f0e3617  up:语法问题
     add ed5605e  Merge pull request #75 from zhaoyunxing92/multi-registry
     add 68855a6  修改:修复registry/nacos示例无法正常使用的问题,调整client.yml和server.yml方便阅读
     add 5dca1e3  Merge pull request #70 from milerL/nacos
     add 84568ca  add:generic samples
     add 06dd051  up:mv it to the 3rd import block
     add f86ffa7  up:mv it to the 3rd import block
     add ef0d643  Merge pull request #77 from zhaoyunxing92/generic
     add 698f8e4  1. fix zk configcenter can not found zk node
     add 03877ff  Merge pull request #78 from xiaoliu10/fix_zk_configcenter
     add 5b923d2  add tls sample
     add f9d1b04  add apache license & mod folder
     add 5da14b9  mod problems in pr
     add bb434be  mod refmt go-client/pkg/user
     add 5df9ea3  del blank line go-server/pkg/user.go
     add 4da3ca4  mod Id to ID
     add c082df6  Merge pull request #68 from cjphaha/tls
     add ad99803  add:game samples
     add 02974be  Merge pull request #79 from zfkun/game
     add 0b1c591  Id -> ID
     add c5a9d63  Merge pull request #80 from apache/fix/Id
     add 23b2155  fix directory problem.
     add 64351de  Merge pull request #84 from horizonzy/fix-directory-problem
     add f279379  Ftr/dubbo3 (#81)
     add 170edd5  fix: add service-disc zk client .run
     add e97e094  3.0test (#102)
     add efb9045  improve etcd version
     add 35d0f18  Merge pull request #106 from ztelur/3.0
     add c61e538  add etcd integrate test (#107)
     add 40ab04c  fix: updata go get dubbo-gen script (#105)
     add 1f92ae7  Ftr: Tengine Calls Dubbo-go Example (#122)
     add ebf0817  bump dubbo-go version (#131)
     add 1452f49  Dep: Rename import name for remotingMetadataService (#132)
     add f515e3e  fix:  3.0 triple/grpc provider generated reference function by proto-gen-dubbo (#128)
     add d5e6218  update dubbo-go version (#137)
     add 588cdc8  application service discovery nacos reporter example (#123)
     add a925f32  Ftr/3.0msgpack and triple codec extension samples (#138)
     add e5beffd  mod jsonrpc catalogue (#126)
     add bd2132d  Tst: add router to integration and fix hessian2 sample (#124)
     add b088e10  add triple integration test (#139)
     add dac2903  Fix: change 3.0 streaming test and samples to reactive (#140)
     add b870cfa  fix: update dubbogo version and integrate test
     add ad58d88  fix: add 3.0 test (#141)
     add 916f974  add seata run
     add f0b3703  fmt file
     add 27c70a8  Merge pull request #142 from zhaoyunxing92/seata
     add 9f01cb0  fix: fix multi registry integrate test (#144)
     add ee33d1b  fix(tracing): add StartSpanFromContext to jaeger test case & fix some error (#145)
     add bf73754  Fix: seata panic , attachment to AttachmentKey (#148)
     add 94c3746  add .run xml for goland to quick start (#129)
     add 4b1f506  add filter to test/client.yml (#146)
     add 3a733d9  fix: fix side effect (#147)
     add 634f2b5  add service discovery .run (#151)
     add 9f306a6  hessian.RegisterPOJO(&pkg.User{}) 重复调用 (#154)
     add 9ac5eab  Rft: Metadata service (#157)
     add 1bfff60  fix: java demo
     add dc5da43  fix: delete unused
     add f2e5a01  add tracing integration test (#156)
     add 8fe475a  Revert "add tracing integration test (#156)" (#162)
     add 419049c  fix: fix dynamic naming mapping of app level service disc (#155)
     add 5814b41  Ftr: Add integration test multi-server support (#161)
     add d35264f  Tracing integration new (#163)
     add cec63d8  Feature/etcd service discovery (#164)
     add 590ef3f  Fix: multi-zone imports (#172)
     add da7b647  fix (#175)
     add 0724a04  Mod: modify import blocks for branch 3.0 (#167)
     add 683296a  docker Waiter for all samples (#176)
     add 636f2eb  fix: add chan zk waiter
     add 760971d  fix: fix chan middle waiter
     add 0277b53  fix: add waiter after middle start
     add 7b13801  fix: add chain middle wait time
     add 50ad9b4  Fix: delete useless & wrong xml files in .run folder (#173)
     add 021eafa  update howto doc (#177)
     add be8569e  Ftr: 3.0 lumberjack log sample (#179)
     add b91bbe9  change the wrong comment
     add fe16ed9  Fix: fix 3.0 branch game integrate error & delete useless file (#185)
     add fe904f4  add multi-zone run/debug configuration (#181)
     add 8b2c6d0  Ftr: Generic invocation supports generalizer.Generalizer (#170)
     new 89e3de4  Tst: Add new test for generic invocation (#189)
     new 8919b0b  remove files (#196)
     new ce6e793  添加应用级服务发现.run
     new d8933f3  Merge pull request #198 from zhaoyunxing92/3.0
     new aa1d324  style(*): format imports with dubbogo/tools/imports-formatter (#188)
     new b6b7f39  Tst: Add parameterless call test for generic invocation (#197)
     new 36c2221  fix java User pojo id to ID (#202)
     new 5582c91  Add dubbo3-protobuf-nacos sample (#194)

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (ae7a48a)
            \
             N -- N -- N   refs/heads/3.0 (5582c91)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 8 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:

[dubbo-go-samples] 03/08: 添加应用级服务发现.run

Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zhaoyunxing pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git

commit ce6e79381fde2a6c662056e769531e41042eaab9
Author: zhaoyunxing <23...@qq.com>
AuthorDate: Wed Aug 18 16:34:36 2021 +0800

    添加应用级服务发现.run
---
 .run/service-discovery/discovery-nacos-go-client.run.xml | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/.run/service-discovery/discovery-nacos-go-client.run.xml b/.run/service-discovery/discovery-nacos-go-client.run.xml
new file mode 100644
index 0000000..f793afa
--- /dev/null
+++ b/.run/service-discovery/discovery-nacos-go-client.run.xml
@@ -0,0 +1,15 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="discovery-nacos-go-client" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="service-discovery">
+    <module name="dubbo-go-samples" />
+    <working_directory value="$PROJECT_DIR$" />
+    <envs>
+      <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/registry/serviecdiscovery/nacos/go-client/conf/log.yml" />
+      <env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/registry/servicediscovery/nacos/go-client/conf/client.yml" />
+    </envs>
+    <kind value="PACKAGE" />
+    <package value="github.com/apache/dubbo-go-samples/registry/servicediscovery/nacos/go-client/cmd" />
+    <directory value="$PROJECT_DIR$" />
+    <filePath value="$PROJECT_DIR$/registry/servicediscovery/nacos/go-client/cmd/client.go" />
+    <method v="2" />
+  </configuration>
+</component>
\ No newline at end of file

[dubbo-go-samples] 06/08: Tst: Add parameterless call test for generic invocation (#197)

Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zhaoyunxing pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git

commit b6b7f39d9468885bcc7690ed27f8df385b38ef4c
Author: XavierNiu <a...@nxw.name>
AuthorDate: Wed Aug 18 21:31:24 2021 +0800

    Tst: Add parameterless call test for generic invocation (#197)
    
    * add new test for generic invocation
    
    * update dubbo-go version
    
    * update go.mod
    
    * update go.mod
    
    * fix conversion bug
    
    * fix typo
    
    * fix conversion bugs
    
    * generic invocation sample for call without params
    
    * go fmt
    
    * remove useless type
    
    * use hessian.Object
---
 generic/default/go-client/cmd/client.go              | 20 ++++++++++++++++++++
 generic/default/go-server/pkg/user.go                |  9 +++++++++
 .../go-server/tests/integration/userprovider_test.go | 18 ++++++++++++++++++
 3 files changed, 47 insertions(+)

diff --git a/generic/default/go-client/cmd/client.go b/generic/default/go-client/cmd/client.go
index 7af8c21..8cbf7b4 100644
--- a/generic/default/go-client/cmd/client.go
+++ b/generic/default/go-client/cmd/client.go
@@ -67,6 +67,9 @@ func main() {
 	callQueryUser()
 	gxlog.CInfo("\n\ncall queryUsers")
 	callQueryUsers()
+	gxlog.CInfo("\n\ncall callGetOneUser")
+	callGetOneUser()
+
 	initSignal()
 }
 
@@ -170,3 +173,20 @@ func callQueryUsers() {
 	gxlog.CInfo("res: %+v\n", resp)
 	gxlog.CInfo("success!")
 }
+
+func callGetOneUser() {
+	gxlog.CInfo("\n\n\nstart to generic invoke")
+	resp, err := referenceConfig.GetRPCService().(*config.GenericService).Invoke(
+		context.TODO(),
+		[]interface{}{
+			"GetOneUser",
+			[]hessian.Object{},
+			[]hessian.Object{},
+		},
+	)
+	if err != nil {
+		panic(err)
+	}
+	gxlog.CInfo("res: %+v\n", resp)
+	gxlog.CInfo("success!")
+}
diff --git a/generic/default/go-server/pkg/user.go b/generic/default/go-server/pkg/user.go
index 26e3c5c..88cdc43 100644
--- a/generic/default/go-server/pkg/user.go
+++ b/generic/default/go-server/pkg/user.go
@@ -71,6 +71,15 @@ func (u *UserProvider) QueryUsers(_ context.Context, users []*User) (*UserRespon
 	}, nil
 }
 
+func (u *UserProvider) GetOneUser(_ context.Context) (*User, error) {
+	return &User{
+		ID:   "1000",
+		Name: "xavierniu",
+		Age:  24,
+		Time: time.Now(),
+	}, nil
+}
+
 func (u *UserProvider) MethodMapper() map[string]string {
 	return map[string]string{
 		"QueryUser": "queryUser",
diff --git a/generic/default/go-server/tests/integration/userprovider_test.go b/generic/default/go-server/tests/integration/userprovider_test.go
index 58c8a29..0a67352 100644
--- a/generic/default/go-server/tests/integration/userprovider_test.go
+++ b/generic/default/go-server/tests/integration/userprovider_test.go
@@ -110,3 +110,21 @@ func TestQueryUsers(t *testing.T) {
 	assert.Equal(t, int32(24), users[1].(map[interface{}]interface{})["age"])
 	assert.Equal(t, "3212", users[1].(map[interface{}]interface{})["iD"])
 }
+
+func TestGetOneUser(t *testing.T) {
+	o, err := referenceConfig.GetRPCService().(*config.GenericService).Invoke(
+		context.TODO(),
+		[]interface{}{
+			"GetOneUser",
+			[]hessian.Object{},
+			[]hessian.Object{},
+		},
+	)
+
+	assert.Nil(t, err)
+	resp, ok := o.(map[interface{}]interface{})
+	assert.True(t, ok)
+	assert.Equal(t, "xavierniu", resp["name"])
+	assert.Equal(t, int32(24), resp["age"])
+	assert.Equal(t, "1000", resp["iD"])
+}

[dubbo-go-samples] 01/08: Tst: Add new test for generic invocation (#189)

Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zhaoyunxing pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git

commit 89e3de415c1bdfa6e38b3afc4148412eb02cb910
Author: XavierNiu <a...@nxw.name>
AuthorDate: Sat Aug 7 12:40:11 2021 +0800

    Tst: Add new test for generic invocation (#189)
    
    * add new test for generic invocation
    
    * update dubbo-go version
    
    * update go.mod
    
    * update go.mod
    
    * fix conversion bug
    
    * fix typo
    
    * fix conversion bugs
---
 generic/default/go-client/cmd/client.go            |  32 +++
 generic/default/go-server/pkg/user.go              |  17 +-
 .../tests/integration/userprovider_test.go         |  38 ++++
 go.mod                                             |  17 +-
 go.sum                                             | 219 ++++++++++++++-------
 5 files changed, 237 insertions(+), 86 deletions(-)

diff --git a/generic/default/go-client/cmd/client.go b/generic/default/go-client/cmd/client.go
index 5f428d9..7af8c21 100644
--- a/generic/default/go-client/cmd/client.go
+++ b/generic/default/go-client/cmd/client.go
@@ -65,6 +65,8 @@ func main() {
 	callGetUser()
 	gxlog.CInfo("\n\ncall queryUser")
 	callQueryUser()
+	gxlog.CInfo("\n\ncall queryUsers")
+	callQueryUsers()
 	initSignal()
 }
 
@@ -136,5 +138,35 @@ func callQueryUser() {
 	}
 	gxlog.CInfo("res: %+v\n", resp)
 	gxlog.CInfo("success!")
+}
 
+func callQueryUsers() {
+	resp, err := referenceConfig.GetRPCService().(*config.GenericService).Invoke(
+		context.TODO(),
+		[]interface{}{
+			"QueryUsers",
+			[]string{"java.lang.Array"},
+			[]hessian.Object{
+				[]hessian.Object{
+					map[string]hessian.Object{
+						"iD":   "3213",
+						"name": "panty",
+						"age":  25,
+						"time": time.Now(),
+					},
+					map[string]hessian.Object{
+						"iD":   "3212",
+						"name": "XavierNiu",
+						"age":  24,
+						"time": time.Now().Add(4),
+					},
+				},
+			},
+		},
+	)
+	if err != nil {
+		panic(err)
+	}
+	gxlog.CInfo("res: %+v\n", resp)
+	gxlog.CInfo("success!")
 }
diff --git a/generic/default/go-server/pkg/user.go b/generic/default/go-server/pkg/user.go
index f2288cf..26e3c5c 100644
--- a/generic/default/go-server/pkg/user.go
+++ b/generic/default/go-server/pkg/user.go
@@ -34,6 +34,7 @@ func init() {
 	config.SetProviderService(new(UserProvider))
 	// ------for hessian2------
 	hessian.RegisterPOJO(&User{})
+	hessian.RegisterPOJO(&UserResponse{})
 }
 
 type User struct {
@@ -43,6 +44,10 @@ type User struct {
 	Time time.Time
 }
 
+type UserResponse struct {
+	Users []*User
+}
+
 type UserProvider struct {
 }
 
@@ -60,6 +65,12 @@ func (u *UserProvider) QueryUser(ctx context.Context, user *User) (*User, error)
 	return &rsp, nil
 }
 
+func (u *UserProvider) QueryUsers(_ context.Context, users []*User) (*UserResponse, error) {
+	return &UserResponse{
+		Users: users,
+	}, nil
+}
+
 func (u *UserProvider) MethodMapper() map[string]string {
 	return map[string]string{
 		"QueryUser": "queryUser",
@@ -70,6 +81,10 @@ func (u *UserProvider) Reference() string {
 	return "UserProvider"
 }
 
-func (u User) JavaClassName() string {
+func (u *User) JavaClassName() string {
 	return "org.apache.dubbo.User"
 }
+
+func (u *UserResponse) JavaClassName() string {
+	return "org.apache.dubbo.UserResponse"
+}
diff --git a/generic/default/go-server/tests/integration/userprovider_test.go b/generic/default/go-server/tests/integration/userprovider_test.go
index 6b8971a..58c8a29 100644
--- a/generic/default/go-server/tests/integration/userprovider_test.go
+++ b/generic/default/go-server/tests/integration/userprovider_test.go
@@ -72,3 +72,41 @@ func TestQueryUser(t *testing.T) {
 	assert.Equal(t, int32(25), resp["age"])
 	assert.Equal(t, "3213", resp["iD"])
 }
+
+func TestQueryUsers(t *testing.T) {
+	o, err := referenceConfig.GetRPCService().(*config.GenericService).Invoke(
+		context.TODO(),
+		[]interface{}{
+			"QueryUsers",
+			[]string{"java.lang.Array"},
+			[]hessian.Object{
+				[]hessian.Object{
+					map[string]hessian.Object{
+						"iD":   "3213",
+						"name": "panty",
+						"age":  25,
+						"time": time.Now(),
+					},
+					map[string]hessian.Object{
+						"iD":   "3212",
+						"name": "XavierNiu",
+						"age":  24,
+						"time": time.Now().Add(4),
+					},
+				},
+			},
+		},
+	)
+
+	assert.Nil(t, err)
+	resp, ok := o.(map[interface{}]interface{})
+	assert.True(t, ok)
+	users, ok := resp["users"].([]interface{})
+	assert.True(t, ok)
+	assert.Equal(t, "panty", users[0].(map[interface{}]interface{})["name"])
+	assert.Equal(t, int32(25), users[0].(map[interface{}]interface{})["age"])
+	assert.Equal(t, "3213", users[0].(map[interface{}]interface{})["iD"])
+	assert.Equal(t, "XavierNiu", users[1].(map[interface{}]interface{})["name"])
+	assert.Equal(t, int32(24), users[1].(map[interface{}]interface{})["age"])
+	assert.Equal(t, "3212", users[1].(map[interface{}]interface{})["iD"])
+}
diff --git a/go.mod b/go.mod
index adbc13c..295732b 100644
--- a/go.mod
+++ b/go.mod
@@ -1,14 +1,17 @@
 module github.com/apache/dubbo-go-samples
 
+go 1.13
+
 require (
-	dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210725154253-9aeb7ff3c612
+	dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210730014023-92df41cfde97
+	github.com/HdrHistogram/hdrhistogram-go v1.1.0 // indirect
 	github.com/alibaba/sentinel-golang v1.0.2
 	github.com/apache/dubbo-getty v1.4.3
 	github.com/apache/dubbo-go-hessian2 v1.9.2
 	github.com/bwmarrin/snowflake v0.3.0
 	github.com/dubbogo/gost v1.11.14
 	github.com/dubbogo/net v0.0.3
-	github.com/dubbogo/triple v1.0.1
+	github.com/dubbogo/triple v1.0.2
 	github.com/emicklei/go-restful/v3 v3.4.0
 	github.com/golang/protobuf v1.5.2
 	github.com/opentracing/opentracing-go v1.2.0
@@ -17,13 +20,9 @@ require (
 	github.com/pkg/errors v0.9.1
 	github.com/prometheus/client_golang v1.9.0
 	github.com/stretchr/testify v1.7.0
-	github.com/transaction-wg/seata-golang v0.2.0
-	github.com/uber/jaeger-client-go v2.22.1+incompatible
-	github.com/uber/jaeger-lib v2.2.0+incompatible // indirect
+	github.com/transaction-wg/seata-golang v1.0.1
+	github.com/uber/jaeger-client-go v2.29.1+incompatible
+	github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
 	google.golang.org/grpc v1.38.0
 	google.golang.org/protobuf v1.26.0
 )
-
-replace github.com/envoyproxy/go-control-plane => github.com/envoyproxy/go-control-plane v0.8.0
-
-go 1.13
diff --git a/go.sum b/go.sum
index 849c5de..f3e082c 100644
--- a/go.sum
+++ b/go.sum
@@ -1,3 +1,4 @@
+bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8=
 cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
 cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
 cloud.google.com/go v0.37.4/go.mod h1:NHPJ89PdicEuT9hdPXMROBD91xc5uRDxsMtSB16k7hw=
@@ -12,11 +13,10 @@ cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqCl
 cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
 cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
 dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
-dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210708063655-af290429dee4 h1:JRGjw66CguqaOeYigLauTdccWqnvy7U3OYqAHzXYmlw=
-dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210708063655-af290429dee4/go.mod h1:2l+IXuSuJvEk2g/ze1la8t1sX+yJH220aHo6JJVriM8=
-dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210725154253-9aeb7ff3c612 h1:uQMGg4Hnu/iO+RLrKIRsBXgJLUpLh+UG5NuVNGxGlsg=
-dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210725154253-9aeb7ff3c612/go.mod h1:RvuYcSX5rxb1aQTSol4EFt2txaJhzMmUAkT75lT9ETE=
-github.com/Azure/azure-sdk-for-go v40.3.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
+dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210730014023-92df41cfde97 h1:55Wxs/szoIaCEw2hX4+4G30J09iolgigby1yyXn/hGE=
+dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210730014023-92df41cfde97/go.mod h1:yPOa6EUjiNYqQ/jB3KbheaMQoKsYH9s4+7t5A4mqOaI=
+gitea.com/xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a/go.mod h1:EXuID2Zs0pAQhH8yz+DNjUbjppKQzKFAn28TMYPB6IU=
+github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
 github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
 github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0=
 github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA=
@@ -28,8 +28,12 @@ github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ
 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
 github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
+github.com/HdrHistogram/hdrhistogram-go v1.1.0 h1:6dpdDPTRoo78HxAJ6T1HfMiKSnqhgRRqzCuPshRkQ7I=
+github.com/HdrHistogram/hdrhistogram-go v1.1.0/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo=
 github.com/Julusian/godocdown v0.0.0-20170816220326-6d19f8ff2df8/go.mod h1:INZr5t32rG59/5xeltqoCJoNY7e5x/3xoY9WSWVWg74=
 github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
+github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw=
+github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8=
 github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
 github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
 github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
@@ -45,6 +49,7 @@ github.com/Workiva/go-datastructures v1.0.52 h1:PLSK6pwn8mYdaoaCZEMsXBpBotr4HHn9
 github.com/Workiva/go-datastructures v1.0.52/go.mod h1:Z+F2Rca0qCsVYDS8z7bAGm8f3UkzuWYS/oBZz5a7VVA=
 github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 h1:rFw4nCn9iMW+Vajsk51NtYIcwSTkXr+JGrMd36kTDJw=
 github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c=
+github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
 github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
 github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
 github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
@@ -63,14 +68,16 @@ github.com/apache/dubbo-go-hessian2 v1.9.2/go.mod h1:xQUjE7F8PX49nm80kChFvepA/Av
 github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
 github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
 github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
-github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
 github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
 github.com/armon/go-metrics v0.3.0/go.mod h1:zXjbSimjXTd7vOpY8B0/2LpvNvDoXBuplAD+gJD3GYs=
+github.com/armon/go-metrics v0.3.3/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc=
 github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
+github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
 github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A=
 github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU=
 github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
 github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
+github.com/aws/aws-sdk-go v1.30.27/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
 github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g=
 github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
@@ -86,6 +93,7 @@ github.com/bwmarrin/snowflake v0.3.0 h1:xm67bEhkKh6ij1790JB83OujPR5CzNe8QuQqAgIS
 github.com/bwmarrin/snowflake v0.3.0/go.mod h1:NdZxfVWX+oR6y2K0o6qAYv6gIOP9rjG0/E9WsDpxqwE=
 github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ=
 github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
+github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
 github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40 h1:xvUo53O5MRZhVMJAxWCJcS5HHrqAiAG9SJ1LpMu6aAI=
 github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA=
 github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
@@ -106,15 +114,24 @@ github.com/cockroachdb/errors v1.2.4 h1:Lap807SXTH5tri2TivECb/4abUkMZC9zRoLarvcK
 github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA=
 github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f h1:o/kfcElHqOiXqcou5a3rIlMc7oJbMQkeLk0VQJ7zgqY=
 github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI=
-github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd h1:qMd81Ts1T2OTKmB4acZcyKaMtRnY5Y44NuXGX2GFJ1w=
 github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
+github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko=
+github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw=
+github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
+github.com/containerd/containerd v1.3.4/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
+github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
+github.com/containerd/continuity v0.0.0-20200709052629-daa8e1ccc0bc/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo=
+github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI=
+github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0=
+github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o=
+github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc=
 github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
-github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
 github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
 github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
 github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM=
 github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
 github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
+github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8=
 github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
 github.com/coreos/go-systemd/v22 v22.1.0 h1:kq/SbG2BCKLkDKkjQf5OWwKWUKj1lgs3lFI4PxnR5lg=
 github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk=
@@ -141,19 +158,23 @@ github.com/denisenkom/go-mssqldb v0.0.0-20190707035753-2be1aa521ff4/go.mod h1:zA
 github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU=
 github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
 github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
+github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
+github.com/docker/docker v1.4.2-0.20200319182547-c7ad2b866182/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
+github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
+github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
 github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
 github.com/dubbogo/go-zookeeper v1.0.3 h1:UkuY+rBsxdT7Bs63QAzp9z7XqQ53W1j8E5rwl83me8g=
 github.com/dubbogo/go-zookeeper v1.0.3/go.mod h1:fn6n2CAEer3novYgk9ULLwAjuV8/g4DdC2ENwRb6E+c=
 github.com/dubbogo/gost v1.9.0/go.mod h1:pPTjVyoJan3aPxBPNUX0ADkXjPibLo+/Ib0/fADXSG8=
 github.com/dubbogo/gost v1.10.1/go.mod h1:+mQGS51XQEUWZP2JeGZTxJwipjRKtJO7Tr+FOg+72rI=
-github.com/dubbogo/gost v1.11.13 h1:sWvK1QbHpPBMmRQJV9qIH3syLegQBQa4xAPof3/Kv5c=
-github.com/dubbogo/gost v1.11.13/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZTy/61jI=
+github.com/dubbogo/gost v1.11.11/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZTy/61jI=
+github.com/dubbogo/gost v1.11.14 h1:9lfcdILOmqTOVAW1fPHa5uf1NrD6jlIOBe4vf8576yQ=
 github.com/dubbogo/gost v1.11.14/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZTy/61jI=
 github.com/dubbogo/jsonparser v1.0.1/go.mod h1:tYAtpctvSP/tWw4MeelsowSPgXQRVHHWbqL6ynps8jU=
 github.com/dubbogo/net v0.0.3 h1:2k53mh+1U8h1gFjJ8ykzyP4wNdAdgjc5moD+xVHI/AE=
 github.com/dubbogo/net v0.0.3/go.mod h1:B6/ka3g8VzcyrmdCH4VkHP1K0aHeI37FmclS+TCwIBU=
-github.com/dubbogo/triple v1.0.1 h1:fdBkXTR0I4UBBCDcN+k22uJWU338ZK5mvOPpIBIL5h8=
-github.com/dubbogo/triple v1.0.1/go.mod h1:O6vQD2XLCWugzAk0P27HTW4+Uhkd8sjaQn0BZijdGzU=
+github.com/dubbogo/triple v1.0.2 h1:+QKw6XbTyHP4yqUQ4gXRvV1FbhJZ7ldl9WrN0AjmCPM=
+github.com/dubbogo/triple v1.0.2/go.mod h1:O6vQD2XLCWugzAk0P27HTW4+Uhkd8sjaQn0BZijdGzU=
 github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
 github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
 github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
@@ -168,20 +189,25 @@ github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633 h1:H2pdYOb3KQ1
 github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
 github.com/emicklei/go-restful/v3 v3.4.0 h1:IIDhql3oyWZj1ay2xBZGb4sTOWMad0HVW8rwhVxN/Yk=
 github.com/emicklei/go-restful/v3 v3.4.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
-github.com/envoyproxy/go-control-plane v0.8.0/go.mod h1:GSSbY9P1neVhdY7G4wu+IK1rk/dqhiCC/4ExuWJZVuk=
-github.com/envoyproxy/protoc-gen-validate v0.0.14/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
+github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g=
+github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
+github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
+github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
+github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
+github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
 github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
 github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
 github.com/fastly/go-utils v0.0.0-20180712184237-d95a45783239 h1:Ghm4eQYC0nEPnSJdVkTrXpu9KtoVCSo1hg7mtI7G9KU=
 github.com/fastly/go-utils v0.0.0-20180712184237-d95a45783239/go.mod h1:Gdwt2ce0yfBxPvZrHkprdPPTTS3N5rwmLE8T22KBXlw=
 github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
 github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
+github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
 github.com/form3tech-oss/jwt-go v3.2.2+incompatible h1:TcekIExNqud5crz4xD2pavyTgWiPvpYe4Xau31I0PRk=
 github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k=
 github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4=
 github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20=
-github.com/frankban/quicktest v1.4.1 h1:Wv2VwvNn73pAdFIVUQRXYDFp31lXKbqblIXo/Q5GPSg=
-github.com/frankban/quicktest v1.4.1/go.mod h1:36zfPVQyHxymz4cH7wlDmVwDrJuljRB60qkgn7rorfQ=
+github.com/frankban/quicktest v1.10.0 h1:Gfh+GAJZOAoKZsIZeZbdn2JF10kN1XHNvjsvQK8gVkE=
+github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y=
 github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
 github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
 github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
@@ -190,8 +216,6 @@ github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49P
 github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
 github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
 github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
-github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
-github.com/gin-gonic/gin v1.6.2/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M=
 github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE=
 github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24=
 github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0=
@@ -205,6 +229,7 @@ github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2
 github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
 github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o=
 github.com/go-ldap/ldap/v3 v3.1.3/go.mod h1:3rbOH3jRS2u6jg2rJnKAMLE/xQyCKIveG2Sa/Cohzb8=
+github.com/go-ldap/ldap/v3 v3.1.10/go.mod h1:5Zun81jBTabRaI8lzN7E1JjyEl1g6zI6u9pd8luAK4Q=
 github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
 github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
@@ -217,19 +242,19 @@ github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nA
 github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I=
 github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A=
 github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
-github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8=
-github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA=
-github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI=
 github.com/go-redis/redis v6.15.5+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA=
 github.com/go-resty/resty/v2 v2.3.0 h1:JOOeAvjSlapTT92p8xiS19Zxev1neGikoHsXJeOq8So=
 github.com/go-resty/resty/v2 v2.3.0/go.mod h1:UpN9CgLZNsv4e9XG50UU8xdI0F43UQ4HmxLBDwaroHU=
 github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
-github.com/go-sql-driver/mysql v1.4.1 h1:g24URVg0OFbNUTx9qqY1IRZ9D9z3iPyi5zKhQZpNwpA=
 github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
+github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs=
+github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
 github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA=
+github.com/go-test/deep v1.0.2/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA=
 github.com/go-xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a/go.mod h1:56xuuqnHyryaerycW3BfssRdxQstACi0Epw/yC5E2xM=
 github.com/go-xorm/xorm v0.7.9/go.mod h1:XiVxrMMIhFkwSkh96BW7PACl7UhLtx2iJIHMdmjh5sQ=
+github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4=
 github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
 github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
 github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
@@ -242,6 +267,7 @@ github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
 github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
 github.com/goji/httpauth v0.0.0-20160601135302-2da839ab0f4d/go.mod h1:nnjvkQ9ptGaCkuDUx6wNykzzlUixGxvkme+H/lnzb+A=
 github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
+github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
 github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
 github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
@@ -258,7 +284,6 @@ github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5y
 github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
 github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
 github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
-github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
 github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
 github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
 github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
@@ -282,6 +307,7 @@ github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw
 github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
 github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
 github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
@@ -304,10 +330,10 @@ github.com/gopherjs/gopherjs v0.0.0-20190910122728-9d188e94fb99 h1:twflg0XRTjwKp
 github.com/gopherjs/gopherjs v0.0.0-20190910122728-9d188e94fb99/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
 github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
 github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
-github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw=
 github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
+github.com/gorilla/mux v1.7.4 h1:VuZ8uybHlWmqV03+zRzdwKL4tUnIp1MAQtp1mIFE1bc=
+github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
 github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
-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/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
@@ -319,9 +345,8 @@ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92Bcuy
 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
 github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
 github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
+github.com/grpc-ecosystem/grpc-gateway v1.14.6 h1:8ERzHx8aj1Sc47mu9n/AksaKCSWrMchFtkdrS4BIj5o=
 github.com/grpc-ecosystem/grpc-gateway v1.14.6/go.mod h1:zdiPV4Yse/1gnckTHtghG4GkDEdKCRJduHpTxT3/jcw=
-github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo=
-github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
 github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU=
 github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw=
 github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q=
@@ -333,14 +358,21 @@ github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv
 github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
 github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
 github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI=
+github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ=
 github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
+github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
 github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
+github.com/hashicorp/go-immutable-radix v1.1.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
 github.com/hashicorp/go-kms-wrapping/entropy v0.1.0/go.mod h1:d1g9WGtAunDNpek8jUIEJnBlbgKS1N2Q61QkHiZyR1g=
 github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
 github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
+github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA=
 github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY=
 github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs=
+github.com/hashicorp/go-retryablehttp v0.6.2/go.mod h1:gEx6HMUGxYYhJScX7W1Il64m6cc2C1mDaW3NQ9sY1FY=
+github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY=
 github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU=
+github.com/hashicorp/go-rootcerts v1.0.1/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8=
 github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
 github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A=
 github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
@@ -351,30 +383,36 @@ github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09
 github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
 github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90=
 github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=
 github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
+github.com/hashicorp/golang-lru v0.5.3 h1:YPkqC67at8FYaadspW/6uE0COsBxS2656RLEr8Bppgk=
+github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
 github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
 github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
 github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
 github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
 github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
 github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
-github.com/hashicorp/vault/sdk v0.1.14-0.20200519221838-e0cfd64bc267 h1:e1ok06zGrWJW91rzRroyl5nRNqraaBe4d5hiKcVZuHM=
-github.com/hashicorp/vault/sdk v0.1.14-0.20200519221838-e0cfd64bc267/go.mod h1:WX57W2PwkrOPQ6rVQk+dy5/htHIaB4aBM70EwKThu10=
+github.com/hashicorp/vault/api v1.0.5-0.20200519221902-385fac77e20f/go.mod h1:euTFbi2YJgwcju3imEt919lhJKF68nN1cQPq3aA+kBE=
+github.com/hashicorp/vault/sdk v0.1.14-0.20200519221530-14615acda45f/go.mod h1:WX57W2PwkrOPQ6rVQk+dy5/htHIaB4aBM70EwKThu10=
+github.com/hashicorp/vault/sdk v0.2.1 h1:S4O6Iv/dyKlE9AUTXGa7VOvZmsCvg36toPKgV4f2P4M=
+github.com/hashicorp/vault/sdk v0.2.1/go.mod h1:WfUiO1vYzfBkz1TmoE4ZGU7HD0T0Cl/rZwaxjBkgN4U=
 github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM=
 github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
 github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg=
 github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
+github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU=
+github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
 github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
 github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=
 github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ=
 github.com/jackc/pgx v3.6.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I=
 github.com/jehiah/go-strftime v0.0.0-20171201141054-1d33003b3869 h1:IPJ3dvxmJ4uczJe5YQdrYB16oTJlGSC/OyZDqUk9xX4=
 github.com/jehiah/go-strftime v0.0.0-20171201141054-1d33003b3869/go.mod h1:cJ6Cj7dQo+O6GJNiMx+Pa94qKj+TG8ONdKHgMNIyyag=
-github.com/jinzhu/copier v0.0.0-20190625015134-976e0346caa8 h1:mGIXW/lubQ4B+3bXTLxcTMTjUNDqoF6T/HUW9LbFx9s=
-github.com/jinzhu/copier v0.0.0-20190625015134-976e0346caa8/go.mod h1:yL958EeXv8Ylng6IfnvG4oflryUi3vgA3xPs9hmII1s=
-github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM=
+github.com/jinzhu/copier v0.3.2 h1:QdBOCbaouLDYaIPFfi1bKv5F5tPpeTwXe4sD0jqtz5w=
+github.com/jinzhu/copier v0.3.2/go.mod h1:24xnZezI2Yqac9J61UC6/dG/k76ttpq0DdJI3QmUvro=
 github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
+github.com/jmespath/go-jmespath v0.3.0 h1:OS12ieG61fsCg5+qLJ+SsW9NicxNkg3b25OyT2yCeUc=
+github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik=
 github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
 github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ=
 github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8=
@@ -392,6 +430,7 @@ github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7
 github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
 github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
 github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
+github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
 github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 h1:uC1QfSlInpQF+M0ao65imhwqKnz3Q2z/d8PWZRMQvDM=
 github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k=
 github.com/k0kubun/pp v3.0.1+incompatible h1:3tqvf7QgUnZ5tXO6pNAZlrvHgl6DvifjDrd9g2S9Z40=
@@ -411,7 +450,6 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
 github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
 github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
-github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=
 github.com/lestrrat/go-envload v0.0.0-20180220120943-6ed08b54a570 h1:0iQektZGS248WXmGIYOwRXSQhD4qn3icjMpuxwO7qlo=
 github.com/lestrrat/go-envload v0.0.0-20180220120943-6ed08b54a570/go.mod h1:BLt8L9ld7wVsvEWQbuLrUZnCMnUmLZ+CGDzKtclrTlE=
 github.com/lestrrat/go-file-rotatelogs v0.0.0-20180223000712-d3151e2a480f h1:sgUSP4zdTUZYZgAGGtN5Lxk92rK+JUFOwf+FT99EEI4=
@@ -423,13 +461,13 @@ github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
 github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM=
 github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4=
 github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ=
-github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
 github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
 github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls=
 github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
 github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
 github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
 github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
+github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
 github.com/mattn/go-colorable v0.1.7 h1:bQGKb3vps/j0E9GfJQ03JyhRuxsvdAanXlT9BTw3mdw=
 github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
 github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
@@ -455,6 +493,7 @@ github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS4
 github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY=
 github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
 github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
+github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
 github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag=
 github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
 github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
@@ -465,6 +504,7 @@ github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lN
 github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
 github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
 github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
+github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
 github.com/mschoch/smat v0.2.0 h1:8imxQsjDm8yFEAVBe7azKmKSgzSkZXDuKkSq9374khM=
 github.com/mschoch/smat v0.2.0/go.mod h1:kc9mz7DoBKqDyiRL7VZN8KvXQMWeTaVnttLRXOlotKw=
 github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
@@ -473,6 +513,8 @@ github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRW
 github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
 github.com/nacos-group/nacos-sdk-go v1.0.8 h1:8pEm05Cdav9sQgJSv5kyvlgfz0SzFUUGI3pWX6SiSnM=
 github.com/nacos-group/nacos-sdk-go v1.0.8/go.mod h1:hlAPn3UdzlxIlSILAyOXKxjFSvDJ9oLzTJ9hLAK1KzA=
+github.com/natefinch/lumberjack v2.0.0+incompatible h1:4QJd3OLAMgj7ph+yZTuX13Ld4UpgHp07nNdFX7mqFfM=
+github.com/natefinch/lumberjack v2.0.0+incompatible/go.mod h1:Wi9p2TTF5DG5oU+6YfsmYQpsTIOm0B1VNzQg9Mw6nPk=
 github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg=
 github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU=
 github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k=
@@ -496,6 +538,13 @@ github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa
 github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
 github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
 github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
+github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
+github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
+github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
+github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
+github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
+github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
+github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
 github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492 h1:lM6RxxfUMrYL/f8bWEUqdXrANWtrL7Nndbm9iFN0DlU=
 github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis=
 github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74=
@@ -503,6 +552,7 @@ github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFSt
 github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
 github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
 github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
+github.com/opentrx/seata-golang/v2 v2.0.0-rc1/go.mod h1:jRggiZzDQzC8QzTeb4lswbHufB7lOsBD6IHqKz2+DEM=
 github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5 h1:ZCnq+JUrvXcDVhX/xRolRBZifmabN1HcS1wrPSvxhrU=
 github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA=
 github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw=
@@ -515,16 +565,15 @@ github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144T
 github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
 github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
 github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
+github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc=
 github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
-github.com/pelletier/go-toml v1.4.0 h1:u3Z1r+oOXJIkxqw34zVhyPgjBsm6X2wn21NWs/HfSeg=
-github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo=
 github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac=
 github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
 github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU=
 github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc=
 github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
-github.com/pierrec/lz4 v2.2.6+incompatible h1:6aCX4/YZ9v8q69hTyiR7dNLnTA3fgtKHVVW5BCd5Znw=
-github.com/pierrec/lz4 v2.2.6+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
+github.com/pierrec/lz4 v2.5.2+incompatible h1:WCjObylUIOlKy/+7Abdn34TLIkXiA4UWUMhxq9m9ZXI=
+github.com/pierrec/lz4 v2.5.2+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
 github.com/pingcap/check v0.0.0-20190102082844-67f458068fc8/go.mod h1:B1+S9LNcuMyLH/4HMTViQOJevkGiik3wW2AN9zb2fNQ=
 github.com/pingcap/check v0.0.0-20200212061837-5e12011dc712 h1:R8gStypOBmpnHEx1qi//SaqxJVI4inOqljg/Aj5/390=
 github.com/pingcap/check v0.0.0-20200212061837-5e12011dc712/go.mod h1:PYMCGwN0JHjoqGr3HrZoD+b8Tgx8bKnArhSq8YVzUMc=
@@ -539,6 +588,7 @@ github.com/pingcap/parser v0.0.0-20200424075042-8222d8b724a4 h1:1dFbm4zVXWvdwjEd
 github.com/pingcap/parser v0.0.0-20200424075042-8222d8b724a4/go.mod h1:9v0Edh8IbgjGYW2ArJr19E+bvL8zKahsFp+ixWeId+4=
 github.com/pingcap/tipb v0.0.0-20190428032612-535e1abaa330/go.mod h1:RtkHW8WbcNxj8lsbzjaILci01CtYnYbIkQhjyZWrWVI=
 github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
 github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -553,6 +603,7 @@ github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod
 github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
 github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
 github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og=
+github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU=
 github.com/prometheus/client_golang v1.5.1/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU=
 github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
 github.com/prometheus/client_golang v1.9.0 h1:Rrch9mh17XcxvEu9D9DEpb4isxjGBtcevQjKvxPRQIU=
@@ -560,6 +611,7 @@ github.com/prometheus/client_golang v1.9.0/go.mod h1:FqZLKOZnGdFAhOK4nqGHa7D66Id
 github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
 github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
 github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
 github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
 github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M=
 github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
@@ -573,6 +625,7 @@ github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8b
 github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
 github.com/prometheus/common v0.15.0 h1:4fgOnadei3EZvgRwxJ7RMpG1k1pOZth5Pc13tyspaKM=
 github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s=
+github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
 github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
 github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
 github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
@@ -594,17 +647,17 @@ github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb
 github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
 github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc=
 github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=
-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/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww=
+github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
 github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
-github.com/shima-park/agollo v1.2.6 h1:5COt4poF4kWPLE7iean0hsnKZPrDQz9nRLqvU9Qwmi8=
-github.com/shima-park/agollo v1.2.6/go.mod h1:pbHN4SgHDd84eTKyhCvG2LjQ+6mcZq/fEkElxL+oRYk=
 github.com/shirou/gopsutil v3.20.11-0.20201116082039-2fb5da2f2449+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
 github.com/shirou/gopsutil v3.20.11+incompatible h1:LJr4ZQK4mPpIV5gOa4jCOKOGb4ty4DZO54I4FGqIpto=
 github.com/shirou/gopsutil v3.20.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
 github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4=
 github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
+github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
 github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
+github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
 github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
 github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
 github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM=
@@ -624,16 +677,17 @@ github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc=
 github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
 github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8=
 github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
+github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
 github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
 github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI=
 github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk=
 github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
 github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
+github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
 github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
 github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
 github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
 github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
-github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
 github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=
 github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk=
 github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=
@@ -642,9 +696,8 @@ github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3
 github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
 github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A=
 github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48=
-github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
 github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
@@ -666,27 +719,23 @@ github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 h1:uruHq4
 github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
 github.com/toolkits/concurrent v0.0.0-20150624120057-a4371d70e3e3 h1:kF/7m/ZU+0D4Jj5eZ41Zm3IH/J8OElK1Qtd7tVKAwLk=
 github.com/toolkits/concurrent v0.0.0-20150624120057-a4371d70e3e3/go.mod h1:QDlpd3qS71vYtakd2hmdpqhJ9nwv6mD6A30bQ1BPBFE=
-github.com/transaction-wg/seata-golang v0.2.0 h1:Thoe2omQUiwE/uSKNj4Hr4JMoSaeFxU0Q/it5hvHd88=
-github.com/transaction-wg/seata-golang v0.2.0/go.mod h1:L9vMoZxvLX4BuXQ13vFPCwFfXRLP0Bhr97z+6jm49Dw=
+github.com/transaction-wg/seata-golang v1.0.1 h1:21IqQeDnoElnzx4GPznJjZLzluWWOFmY5j1h1uuS8t4=
+github.com/transaction-wg/seata-golang v1.0.1/go.mod h1:AsopoxlIdkv7EukRGloQDxgcMvTTVMyU3lyv/cFIHjw=
 github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
-github.com/uber/jaeger-client-go v2.22.1+incompatible h1:NHcubEkVbahf9t3p75TOCR83gdUHXjRJvjoBh1yACsM=
-github.com/uber/jaeger-client-go v2.22.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
-github.com/uber/jaeger-lib v2.2.0+incompatible h1:MxZXOiR2JuoANZ3J6DE/U0kSFv/eJ/GfSYVCjK7dyaw=
-github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U=
-github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
-github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
+github.com/uber/jaeger-client-go v2.29.1+incompatible h1:R9ec3zO3sGpzs0abd43Y+fBZRJ9uiH6lXyR/+u6brW4=
+github.com/uber/jaeger-client-go v2.29.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
+github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg=
+github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U=
 github.com/ugorji/go v1.2.6 h1:tGiWC9HENWE2tqYycIqFTNorMmFRVhNwCpDOpWqnk8E=
 github.com/ugorji/go v1.2.6/go.mod h1:anCg0y61KIhDlPZmnH+so+RQbysYVyDko0IMgJv0Nn0=
-github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
 github.com/ugorji/go/codec v1.2.6 h1:7kbGefxLoDBuYXOms4yD7223OpNMMPNPZxXk5TvFcyQ=
 github.com/ugorji/go/codec v1.2.6/go.mod h1:V6TCNZ4PHqoHGFZuSG1W8nrCzzdgA2DozYxWFFpvxTw=
+github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
 github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
 github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
-github.com/urfave/cli/v2 v2.2.0/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ=
+github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI=
 github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8=
 github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
-github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
-github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0=
@@ -724,17 +773,19 @@ go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
 go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
 go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
 go.uber.org/multierr v1.4.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
-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 h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4=
+go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
+go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
 go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
 go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
 go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
 go.uber.org/zap v1.12.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
 go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
 go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc=
-go.uber.org/zap v1.16.0 h1:uFRZXykJGK9lLY4HtgSw44DnIcAM+kRBP7x5m+NpAOM=
 go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ=
+go.uber.org/zap v1.17.0 h1:MTjgFu6ZLKvY6Pvaqk97GlxNBuMpV4Hy/3P6tRGlI2U=
+go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
+golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 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-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
@@ -745,17 +796,22 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U
 golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0 h1:hb9wdF1z5waM+dSIICn1l0DkLVDT3hqhhQsDNUmHPRE=
 golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
 golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
 golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
+golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5 h1:FR+oGxGfbQu1d+jglI3rCkjAjUnhRSZcUxr+DqlDLNo=
 golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw=
+golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
 golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
 golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
 golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -765,7 +821,6 @@ golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHl
 golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
 golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
 golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20200302205851-738671d3881b h1:Wh+f8QHJXR411sJR8/vRBTZ7YapZaRvUcLFFJhusH0k=
 golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
 golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
 golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
@@ -774,7 +829,6 @@ golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
 golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
 golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
 golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4=
 golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -791,16 +845,17 @@ golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn
 golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
 golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
 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-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
 golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
 golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
 golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
 golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
@@ -838,12 +893,13 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190508220229-2d0786266e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -856,6 +912,7 @@ golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -875,15 +932,18 @@ golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxb
 golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20201208040808-7e3f01d25324 h1:Hir2P/De0WpUhtrKGGjvSb2YxUgyZ7EFOSLIcSSpiwE=
 golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
 golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
 golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
@@ -894,6 +954,7 @@ golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBn
 golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
 golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
 golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
 golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
 golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
@@ -907,17 +968,21 @@ golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtn
 golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
 golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
 golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200325203130-f53864d0dba1/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
 golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
 golang.org/x/tools v0.0.0-20200928182047-19e03678916f/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU=
 golang.org/x/tools v0.0.0-20201014170642-d1624618ad65/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU=
-golang.org/x/tools v0.0.0-20210106214847-113979e3529a h1:CB3a9Nez8M13wwlr/E2YtwoU+qYHKfC+JrDa45RXXoQ=
 golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
 golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
+gonum.org/v1/gonum v0.8.2 h1:CCXrcPKiGGotvnN6jfUsKk4rRqm7q09/YbKb5xCEvtM=
+gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0=
+gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0 h1:OE9mWmgKkjJyEmDAAtGMPjXu+YNeGvK9VTSHY6+Qihc=
+gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
+gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
 google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
 google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
 google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
@@ -951,20 +1016,19 @@ google.golang.org/genproto v0.0.0-20210106152847-07624b53cd92/go.mod h1:FWY/as6D
 google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
 google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
-google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
 google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
 google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
 google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
 google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
+google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
 google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
 google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
 google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
 google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
 google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
 google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
-google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
 google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
 google.golang.org/grpc v1.38.0 h1:/9BgsAsa5nWe26HqOlvlgJnqBuktYOLCgjCPqsa56W0=
 google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
@@ -981,6 +1045,7 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba
 google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
 google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk=
 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U=
 gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
@@ -991,8 +1056,7 @@ gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qS
 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/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o=
-gopkg.in/go-playground/assert.v1 v1.2.1 h1:xoYuJVE7KT85PYWrN730RguIQO0ePzVRfFMXadIrXTM=
-gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=
+gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo=
 gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
 gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
 gopkg.in/ini.v1 v1.42.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
@@ -1001,6 +1065,8 @@ gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
 gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8=
 gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
 gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
+gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
+gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
 gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
 gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
 gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
@@ -1013,19 +1079,19 @@ gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
 gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
-gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
+gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo=
 gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
+gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk=
 honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
 honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
 honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
 honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/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=
-honnef.co/go/tools v0.0.1-2020.1.3 h1:sXmLre5bzIR6ypkjXCDI3jHPssRhc8KD/Ome589sc3U=
 honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
-istio.io/gogo-genproto v0.0.0-20190124151557-6d926a6e6feb/go.mod h1:eIDJ6jNk/IeJz6ODSksHl5Aiczy5JUq6vFhJWI5OtiI=
 k8s.io/api v0.16.9 h1:3vCx0WX9qcg1Hv4aQ/G1tiIKectGVuimvPVTJU4VOCA=
 k8s.io/api v0.16.9/go.mod h1:Y7dZNHs1Xy0mSwSlzL9QShi6qkljnN41yR8oWCRTDe8=
 k8s.io/apimachinery v0.16.9 h1:ESUZ4hMBUKF2kn2HBFL5zM/wQv4j/0uRbR7AjgqGJ4o=
@@ -1038,10 +1104,10 @@ k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
 k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8=
 k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=
 k8s.io/kube-openapi v0.0.0-20190816220812-743ec37842bf/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E=
-k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E=
 k8s.io/utils v0.0.0-20190801114015-581e00157fb1 h1:+ySTxfHnfzZb9ys375PXNlLhkJPLKgHajBU0N62BDvE=
 k8s.io/utils v0.0.0-20190801114015-581e00157fb1/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
 rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
+rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
 sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
 sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
 sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q=
@@ -1052,4 +1118,5 @@ vimagination.zapto.org/byteio v0.0.0-20200222190125-d27cba0f0b10/go.mod h1:fl9OF
 vimagination.zapto.org/memio v0.0.0-20200222190306-588ebc67b97d h1:Mp6WiHHuiwHaknxTdxJ8pvC9/B4pOgW1PamKGexG7Fs=
 vimagination.zapto.org/memio v0.0.0-20200222190306-588ebc67b97d/go.mod h1:zHGDKp2tyvF4IAfLti4pKYqCJucXYmmKMb3UMrCHK/4=
 xorm.io/builder v0.3.6/go.mod h1:LEFAPISnRzG+zxaxj2vPicRwz67BdhFreKg8yv8/TgU=
+xorm.io/builder v0.3.9/go.mod h1:aUW0S9eb9VCaPohFCH3j7czOx1PMW3i1HrSzbLYGBSE=
 xorm.io/core v0.7.2-0.20190928055935-90aeac8d08eb/go.mod h1:jJfd0UAEzZ4t87nbQYtVjmqpIODugN6PD2D9E+dJvdM=

[dubbo-go-samples] 05/08: style(*): format imports with dubbogo/tools/imports-formatter (#188)

Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zhaoyunxing pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git

commit aa1d3248fd2c6e74c42b017203f0f869d71a9f2e
Author: Mulavar <97...@qq.com>
AuthorDate: Wed Aug 18 21:30:40 2021 +0800

    style(*): format imports with dubbogo/tools/imports-formatter (#188)
    
    Co-authored-by: dongjianhui03 <do...@meituan.com>
---
 game/go-server-game/cmd/server.go                        | 16 +++++++---------
 game/go-server-game/tests/integration/main_test.go       |  1 +
 game/go-server-gate/cmd/server.go                        |  1 +
 .../dubbo3/pb/dubbogo-grpc/server/grpcgo-server/main.go  |  2 --
 general/dubbo3/pb/dubbogo-java/protobuf/helloworld.pb.go |  1 -
 generic/protobufjson/go-client/cmd/client.go             |  9 ++++-----
 generic/protobufjson/go-server/cmd/server.go             |  8 ++++----
 generic/protobufjson/go-server/pkg/user.pb.go            |  8 ++++++--
 .../go-server/tests/integration/main_test.go             | 12 ++++++------
 .../go-server/tests/integration/userprovider_test.go     |  5 ++++-
 multi-zone/go-server-hz/tests/integration/main_test.go   |  1 +
 .../go-server-hz/tests/integration/userprovider_test.go  |  1 +
 multi-zone/go-server-sh/tests/integration/main_test.go   |  1 +
 .../go-server-sh/tests/integration/userprovider_test.go  |  1 +
 registry/servicediscovery/etcd/go-client/cmd/client.go   |  2 ++
 registry/servicediscovery/etcd/go-server/cmd/server.go   |  4 ++--
 registry/servicediscovery/etcd/go-server/pkg/user.go     |  7 +++----
 .../etcd/go-server/tests/integration/main_test.go        | 15 ++++++++-------
 .../go-server/tests/integration/userprovider_test.go     |  1 +
 tracing/dubbo/go-server/tests/integration/main_test.go   |  6 ++----
 .../go-server/tests/integration/userprovider_test.go     |  9 +++++++--
 tracing/grpc/go-server/app/helloworld.pb.go              |  4 ----
 22 files changed, 62 insertions(+), 53 deletions(-)

diff --git a/game/go-server-game/cmd/server.go b/game/go-server-game/cmd/server.go
index e0853a8..e45b268 100755
--- a/game/go-server-game/cmd/server.go
+++ b/game/go-server-game/cmd/server.go
@@ -5,26 +5,24 @@ import (
 	"os/signal"
 	"syscall"
 	"time"
+)
 
-	hessian "github.com/apache/dubbo-go-hessian2"
-
+import (
 	_ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
-
 	_ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
 	"dubbo.apache.org/dubbo-go/v3/common/logger"
-
 	_ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
 	"dubbo.apache.org/dubbo-go/v3/config"
-
 	_ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
-
 	_ "dubbo.apache.org/dubbo-go/v3/metadata/service/local"
-
 	_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
-
 	_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
-
 	_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+
+	hessian "github.com/apache/dubbo-go-hessian2"
+)
+
+import (
 	"github.com/apache/dubbo-go-samples/game/go-server-game/pkg"
 	"github.com/apache/dubbo-go-samples/game/pkg/pojo"
 )
diff --git a/game/go-server-game/tests/integration/main_test.go b/game/go-server-game/tests/integration/main_test.go
index 057d58f..dc7a38e 100755
--- a/game/go-server-game/tests/integration/main_test.go
+++ b/game/go-server-game/tests/integration/main_test.go
@@ -16,6 +16,7 @@ import (
 	_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
 	_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
 	_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+
 	hessian "github.com/apache/dubbo-go-hessian2"
 )
 
diff --git a/game/go-server-gate/cmd/server.go b/game/go-server-gate/cmd/server.go
index 976445c..5fd64fc 100755
--- a/game/go-server-gate/cmd/server.go
+++ b/game/go-server-gate/cmd/server.go
@@ -23,6 +23,7 @@ import (
 	_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
 	_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
 	_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+
 	hessian "github.com/apache/dubbo-go-hessian2"
 )
 
diff --git a/general/dubbo3/pb/dubbogo-grpc/server/grpcgo-server/main.go b/general/dubbo3/pb/dubbogo-grpc/server/grpcgo-server/main.go
index 87f308b..df828eb 100644
--- a/general/dubbo3/pb/dubbogo-grpc/server/grpcgo-server/main.go
+++ b/general/dubbo3/pb/dubbogo-grpc/server/grpcgo-server/main.go
@@ -28,8 +28,6 @@ import (
 
 	"google.golang.org/grpc"
 	"google.golang.org/grpc/reflection"
-
-	"google.golang.org/grpc/reflection"
 )
 
 import (
diff --git a/general/dubbo3/pb/dubbogo-java/protobuf/helloworld.pb.go b/general/dubbo3/pb/dubbogo-java/protobuf/helloworld.pb.go
index 89625a4..dc13874 100644
--- a/general/dubbo3/pb/dubbogo-java/protobuf/helloworld.pb.go
+++ b/general/dubbo3/pb/dubbogo-java/protobuf/helloworld.pb.go
@@ -21,7 +21,6 @@ import (
 
 	grpc "google.golang.org/grpc"
 	codes "google.golang.org/grpc/codes"
-
 	status "google.golang.org/grpc/status"
 )
 
diff --git a/generic/protobufjson/go-client/cmd/client.go b/generic/protobufjson/go-client/cmd/client.go
index b2964cf..146cbb4 100644
--- a/generic/protobufjson/go-client/cmd/client.go
+++ b/generic/protobufjson/go-client/cmd/client.go
@@ -27,11 +27,6 @@ import (
 )
 
 import (
-	hessian "github.com/apache/dubbo-go-hessian2"
-	"github.com/dubbogo/gost/log"
-)
-
-import (
 	_ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
 	_ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
 	"dubbo.apache.org/dubbo-go/v3/common/logger"
@@ -41,6 +36,10 @@ import (
 	"dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
 	_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
 	_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+
+	hessian "github.com/apache/dubbo-go-hessian2"
+
+	"github.com/dubbogo/gost/log"
 )
 
 var (
diff --git a/generic/protobufjson/go-server/cmd/server.go b/generic/protobufjson/go-server/cmd/server.go
index 87a9d5f..5d78ee0 100644
--- a/generic/protobufjson/go-server/cmd/server.go
+++ b/generic/protobufjson/go-server/cmd/server.go
@@ -26,10 +26,6 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/generic/protobufjson/go-server/pkg"
-)
-
-import (
 	_ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
 	_ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
 	"dubbo.apache.org/dubbo-go/v3/common/logger"
@@ -41,6 +37,10 @@ import (
 	_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
 )
 
+import (
+	"github.com/apache/dubbo-go-samples/generic/protobufjson/go-server/pkg"
+)
+
 func init() {
 	config.SetProviderService(new(pkg.UserProvider))
 }
diff --git a/generic/protobufjson/go-server/pkg/user.pb.go b/generic/protobufjson/go-server/pkg/user.pb.go
index 1c1ef8b..1166267 100644
--- a/generic/protobufjson/go-server/pkg/user.pb.go
+++ b/generic/protobufjson/go-server/pkg/user.pb.go
@@ -7,12 +7,16 @@
 package pkg
 
 import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	reflect "reflect"
 	sync "sync"
 )
 
+import (
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+)
+
 const (
 	// Verify that this generated code is sufficiently up-to-date.
 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
diff --git a/generic/protobufjson/go-server/tests/integration/main_test.go b/generic/protobufjson/go-server/tests/integration/main_test.go
index 0c776e7..44153bd 100644
--- a/generic/protobufjson/go-server/tests/integration/main_test.go
+++ b/generic/protobufjson/go-server/tests/integration/main_test.go
@@ -20,6 +20,12 @@
 package integration
 
 import (
+	"os"
+	"testing"
+	"time"
+)
+
+import (
 	_ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
 	_ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
 	_ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
@@ -31,12 +37,6 @@ import (
 	_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
 )
 
-import (
-	"os"
-	"testing"
-	"time"
-)
-
 var appName = "UserConsumerTest"
 var referenceConfig = config.ReferenceConfig{
 	InterfaceName: "org.apache.dubbo.UserProvider",
diff --git a/generic/protobufjson/go-server/tests/integration/userprovider_test.go b/generic/protobufjson/go-server/tests/integration/userprovider_test.go
index 43ef763..0ad6d74 100644
--- a/generic/protobufjson/go-server/tests/integration/userprovider_test.go
+++ b/generic/protobufjson/go-server/tests/integration/userprovider_test.go
@@ -21,12 +21,15 @@ package integration
 
 import (
 	"context"
-	"github.com/stretchr/testify/assert"
 	"testing"
 )
+
 import (
 	"dubbo.apache.org/dubbo-go/v3/config"
+
 	hessian "github.com/apache/dubbo-go-hessian2"
+
+	"github.com/stretchr/testify/assert"
 )
 
 func TestGetUser(t *testing.T) {
diff --git a/multi-zone/go-server-hz/tests/integration/main_test.go b/multi-zone/go-server-hz/tests/integration/main_test.go
index 9a3edab..d028c55 100644
--- a/multi-zone/go-server-hz/tests/integration/main_test.go
+++ b/multi-zone/go-server-hz/tests/integration/main_test.go
@@ -36,6 +36,7 @@ import (
 	_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
 	_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
 	_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+
 	hessian "github.com/apache/dubbo-go-hessian2"
 )
 
diff --git a/multi-zone/go-server-hz/tests/integration/userprovider_test.go b/multi-zone/go-server-hz/tests/integration/userprovider_test.go
index 89988b7..a506b8d 100644
--- a/multi-zone/go-server-hz/tests/integration/userprovider_test.go
+++ b/multi-zone/go-server-hz/tests/integration/userprovider_test.go
@@ -23,6 +23,7 @@ import (
 	"context"
 	"testing"
 )
+
 import (
 	"github.com/stretchr/testify/assert"
 )
diff --git a/multi-zone/go-server-sh/tests/integration/main_test.go b/multi-zone/go-server-sh/tests/integration/main_test.go
index 9a3edab..d028c55 100644
--- a/multi-zone/go-server-sh/tests/integration/main_test.go
+++ b/multi-zone/go-server-sh/tests/integration/main_test.go
@@ -36,6 +36,7 @@ import (
 	_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
 	_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
 	_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+
 	hessian "github.com/apache/dubbo-go-hessian2"
 )
 
diff --git a/multi-zone/go-server-sh/tests/integration/userprovider_test.go b/multi-zone/go-server-sh/tests/integration/userprovider_test.go
index c8d3dd8..04ab061 100644
--- a/multi-zone/go-server-sh/tests/integration/userprovider_test.go
+++ b/multi-zone/go-server-sh/tests/integration/userprovider_test.go
@@ -23,6 +23,7 @@ import (
 	"context"
 	"testing"
 )
+
 import (
 	"github.com/stretchr/testify/assert"
 )
diff --git a/registry/servicediscovery/etcd/go-client/cmd/client.go b/registry/servicediscovery/etcd/go-client/cmd/client.go
index 41a0038..866126c 100644
--- a/registry/servicediscovery/etcd/go-client/cmd/client.go
+++ b/registry/servicediscovery/etcd/go-client/cmd/client.go
@@ -37,7 +37,9 @@ import (
 	_ "dubbo.apache.org/dubbo-go/v3/registry/etcdv3"
 	_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
 	_ "dubbo.apache.org/dubbo-go/v3/registry/servicediscovery"
+
 	hessian "github.com/apache/dubbo-go-hessian2"
+
 	"github.com/dubbogo/gost/log"
 )
 
diff --git a/registry/servicediscovery/etcd/go-server/cmd/server.go b/registry/servicediscovery/etcd/go-server/cmd/server.go
index 1f3c38e..b32906c 100644
--- a/registry/servicediscovery/etcd/go-server/cmd/server.go
+++ b/registry/servicediscovery/etcd/go-server/cmd/server.go
@@ -26,8 +26,6 @@ import (
 )
 
 import (
-	hessian "github.com/apache/dubbo-go-hessian2"
-
 	_ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
 	_ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
 	"dubbo.apache.org/dubbo-go/v3/common/logger"
@@ -42,6 +40,8 @@ import (
 	_ "dubbo.apache.org/dubbo-go/v3/registry/etcdv3"
 	_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
 	_ "dubbo.apache.org/dubbo-go/v3/registry/servicediscovery"
+
+	hessian "github.com/apache/dubbo-go-hessian2"
 )
 
 import (
diff --git a/registry/servicediscovery/etcd/go-server/pkg/user.go b/registry/servicediscovery/etcd/go-server/pkg/user.go
index bda7344..75d0916 100644
--- a/registry/servicediscovery/etcd/go-server/pkg/user.go
+++ b/registry/servicediscovery/etcd/go-server/pkg/user.go
@@ -23,12 +23,11 @@ import (
 )
 
 import (
-	"github.com/dubbogo/gost/log"
-)
-
-import (
 	"dubbo.apache.org/dubbo-go/v3/config"
+
 	hessian "github.com/apache/dubbo-go-hessian2"
+
+	"github.com/dubbogo/gost/log"
 )
 
 func init() {
diff --git a/registry/servicediscovery/etcd/go-server/tests/integration/main_test.go b/registry/servicediscovery/etcd/go-server/tests/integration/main_test.go
index ff9821e..b34dd03 100644
--- a/registry/servicediscovery/etcd/go-server/tests/integration/main_test.go
+++ b/registry/servicediscovery/etcd/go-server/tests/integration/main_test.go
@@ -20,6 +20,13 @@
 package integration
 
 import (
+	"context"
+	"os"
+	"testing"
+	"time"
+)
+
+import (
 	_ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
 	_ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
 	_ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
@@ -33,14 +40,8 @@ import (
 	_ "dubbo.apache.org/dubbo-go/v3/registry/etcdv3"
 	_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
 	_ "dubbo.apache.org/dubbo-go/v3/registry/servicediscovery"
-	hessian "github.com/apache/dubbo-go-hessian2"
-)
 
-import (
-	"context"
-	"os"
-	"testing"
-	"time"
+	hessian "github.com/apache/dubbo-go-hessian2"
 )
 
 var userProvider = new(UserProvider)
diff --git a/registry/servicediscovery/etcd/go-server/tests/integration/userprovider_test.go b/registry/servicediscovery/etcd/go-server/tests/integration/userprovider_test.go
index dc29d9a..7183e64 100644
--- a/registry/servicediscovery/etcd/go-server/tests/integration/userprovider_test.go
+++ b/registry/servicediscovery/etcd/go-server/tests/integration/userprovider_test.go
@@ -23,6 +23,7 @@ import (
 	"context"
 	"testing"
 )
+
 import (
 	"github.com/stretchr/testify/assert"
 )
diff --git a/tracing/dubbo/go-server/tests/integration/main_test.go b/tracing/dubbo/go-server/tests/integration/main_test.go
index f29ce68..ee19ca1 100644
--- a/tracing/dubbo/go-server/tests/integration/main_test.go
+++ b/tracing/dubbo/go-server/tests/integration/main_test.go
@@ -27,10 +27,6 @@ import (
 )
 
 import (
-	hessian "github.com/apache/dubbo-go-hessian2"
-)
-
-import (
 	_ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
 	_ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
 	_ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
@@ -44,6 +40,8 @@ import (
 	_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
 	_ "dubbo.apache.org/dubbo-go/v3/registry/servicediscovery"
 	_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+
+	hessian "github.com/apache/dubbo-go-hessian2"
 )
 
 var userProvider = new(UserProvider)
diff --git a/tracing/dubbo/go-server/tests/integration/userprovider_test.go b/tracing/dubbo/go-server/tests/integration/userprovider_test.go
index d795eb9..537111f 100644
--- a/tracing/dubbo/go-server/tests/integration/userprovider_test.go
+++ b/tracing/dubbo/go-server/tests/integration/userprovider_test.go
@@ -23,15 +23,20 @@ import (
 	"context"
 	"testing"
 )
+
 import (
+	"dubbo.apache.org/dubbo-go/v3/common/logger"
+
 	"github.com/dubbogo/gost/log"
+
 	"github.com/opentracing/opentracing-go"
+
 	zipkinot "github.com/openzipkin-contrib/zipkin-go-opentracing"
+
 	"github.com/openzipkin/zipkin-go"
 	zipkinhttp "github.com/openzipkin/zipkin-go/reporter/http"
-	"github.com/stretchr/testify/assert"
 
-	"dubbo.apache.org/dubbo-go/v3/common/logger"
+	"github.com/stretchr/testify/assert"
 )
 
 func TestGetUser(t *testing.T) {
diff --git a/tracing/grpc/go-server/app/helloworld.pb.go b/tracing/grpc/go-server/app/helloworld.pb.go
index 43c9335..e8bf208 100644
--- a/tracing/grpc/go-server/app/helloworld.pb.go
+++ b/tracing/grpc/go-server/app/helloworld.pb.go
@@ -19,10 +19,6 @@ import (
 	"google.golang.org/grpc"
 	"google.golang.org/grpc/codes"
 	"google.golang.org/grpc/status"
-
-	"google.golang.org/grpc/codes"
-
-	"google.golang.org/grpc/status"
 )
 
 var _ = proto.Marshal

[dubbo-go-samples] 07/08: fix java User pojo id to ID (#202)

Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zhaoyunxing pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git

commit 36c22212c59f0a3fce34c34f7cd62e251b852d35
Author: Alan_ <60...@users.noreply.github.com>
AuthorDate: Sat Aug 21 18:17:48 2021 +0800

    fix java User pojo id to ID (#202)
---
 .../src/main/java/org/apache/dubbo/User.java       | 14 ++++++-------
 .../src/main/java/org/apache/dubbo/User.java       | 24 +++++++++++++---------
 2 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/helloworld/java-client/src/main/java/org/apache/dubbo/User.java b/helloworld/java-client/src/main/java/org/apache/dubbo/User.java
index 36d1b9c..aad8c5b 100644
--- a/helloworld/java-client/src/main/java/org/apache/dubbo/User.java
+++ b/helloworld/java-client/src/main/java/org/apache/dubbo/User.java
@@ -21,7 +21,7 @@ import java.util.Date;
 
 public class User {
 
-    private String id;
+    private String ID;
 
     private String name;
 
@@ -35,17 +35,17 @@ public class User {
 
 
     public User(String id, String name, int age) {
-        this.id = id;
+        this.ID = id;
         this.name = name;
         this.age = age;
     }
 
-    public String getId() {
-        return id;
+    public String getID() {
+        return ID;
     }
 
-    public void setId(String id) {
-        this.id = id;
+    public void setID(String ID) {
+        this.ID = ID;
     }
 
     public String getName() {
@@ -71,6 +71,4 @@ public class User {
     public void setTime(Date time) {
         this.time = time;
     }
-
-
 }
diff --git a/helloworld/java-server/src/main/java/org/apache/dubbo/User.java b/helloworld/java-server/src/main/java/org/apache/dubbo/User.java
index 8483880..222bae8 100644
--- a/helloworld/java-server/src/main/java/org/apache/dubbo/User.java
+++ b/helloworld/java-server/src/main/java/org/apache/dubbo/User.java
@@ -22,7 +22,7 @@ import java.io.Serializable;
 
 public class User implements Serializable  {
 
-    private String id;
+    private String ID;
 
     private String name;
 
@@ -34,24 +34,24 @@ public class User implements Serializable  {
     }
 
     public User(String id, String name, int age) {
-        this.id = id;
+        this.ID = id;
         this.name = name;
         this.age = age;
     }
 
     public User(String id, String name, int age, Date time) {
-        this.id = id;
+        this.ID = id;
         this.name = name;
         this.age = age;
         this.time = time;
     }
 
-    public String getId() {
-        return id;
+    public String getID() {
+        return ID;
     }
 
-    public void setId(String id) {
-        this.id = id;
+    public void setID(String ID) {
+        this.ID = ID;
     }
 
     public String getName() {
@@ -78,9 +78,13 @@ public class User implements Serializable  {
         this.time = time;
     }
 
-
-
+    @Override
     public String toString() {
-        return "User{id:" + id + ", name:" + name + ", age:" + age + ", time:" + time +"}";
+        return "User{" +
+                "ID='" + ID + '\'' +
+                ", name='" + name + '\'' +
+                ", age=" + age +
+                ", time=" + time +
+                '}';
     }
 }

[dubbo-go-samples] 04/08: Merge pull request #198 from zhaoyunxing92/3.0

Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zhaoyunxing pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git

commit d8933f331276f8346c337e0ee3d3526a4485f896
Merge: 8919b0b ce6e793
Author: zhaoyunxing <23...@qq.com>
AuthorDate: Wed Aug 18 17:37:28 2021 +0800

    Merge pull request #198 from zhaoyunxing92/3.0
    
    add service-discovery .run

 .run/service-discovery/discovery-nacos-go-client.run.xml | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

[dubbo-go-samples] 02/08: remove files (#196)

Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zhaoyunxing pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git

commit 8919b0bd1d9588a5f1e79dd30588702ae707c584
Author: Alan_ <60...@users.noreply.github.com>
AuthorDate: Sat Aug 14 11:55:00 2021 +0800

    remove files (#196)
---
 async/go-server/tests/integration/userprovider_test.go | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/async/go-server/tests/integration/userprovider_test.go b/async/go-server/tests/integration/userprovider_test.go
index adf0e7f..4eaee58 100644
--- a/async/go-server/tests/integration/userprovider_test.go
+++ b/async/go-server/tests/integration/userprovider_test.go
@@ -40,9 +40,6 @@ func TestGetUser(t *testing.T) {
 	user := &User{}
 	err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
 	assert.Nil(t, err)
-	assert.Equal(t, "", user.ID)
-	assert.Equal(t, "", user.Name)
-	assert.Equal(t, int32(0), user.Age)
 
 	user = <-userProvider.ch
 

[dubbo-go-samples] 08/08: Add dubbo3-protobuf-nacos sample (#194)

Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zhaoyunxing pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git

commit 5582c91e8d661e8e40080a3ce9e29acf087088f4
Author: ChangedenChan <ch...@gmail.com>
AuthorDate: Sat Aug 21 18:25:01 2021 +0800

    Add dubbo3-protobuf-nacos sample (#194)
    
    Co-authored-by: Changeden <ch...@unizone.tech>
---
 generic/protobuf-nacos/client/cmd/client.go        | 126 +++++++
 generic/protobuf-nacos/client/conf/client.yml      |  23 ++
 generic/protobuf-nacos/client/conf/log.yml         |  27 ++
 generic/protobuf-nacos/client/pkg/helloworld.pb.go | 419 +++++++++++++++++++++
 generic/protobuf-nacos/client/pkg/helloworld.proto |  38 ++
 generic/protobuf-nacos/client/pkg/protobuf.mk      |  26 ++
 generic/protobuf-nacos/server/cmd/server.go        |  81 ++++
 generic/protobuf-nacos/server/conf/client.yml      |  22 ++
 generic/protobuf-nacos/server/conf/log.yml         |  27 ++
 generic/protobuf-nacos/server/conf/server.yml      |  28 ++
 generic/protobuf-nacos/server/pkg/greeter.go       |  81 ++++
 11 files changed, 898 insertions(+)

diff --git a/generic/protobuf-nacos/client/cmd/client.go b/generic/protobuf-nacos/client/cmd/client.go
new file mode 100644
index 0000000..f0704dd
--- /dev/null
+++ b/generic/protobuf-nacos/client/cmd/client.go
@@ -0,0 +1,126 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package main
+
+import (
+	"context"
+	"fmt"
+	"os"
+	"os/signal"
+	"syscall"
+	"time"
+)
+
+import (
+	_ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
+	_ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
+	"dubbo.apache.org/dubbo-go/v3/common/logger"
+	_ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
+	"dubbo.apache.org/dubbo-go/v3/config"
+	_ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
+	_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
+	_ "dubbo.apache.org/dubbo-go/v3/protocol/grpc"
+	_ "dubbo.apache.org/dubbo-go/v3/registry/nacos"
+	_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
+	_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+)
+
+import (
+	"github.com/apache/dubbo-go-samples/generic/protobuf-nacos/client/pkg"
+)
+
+var (
+	greeterProvider = new(pkg.GreeterClientImpl)
+	survivalTimeout = int(3 * time.Second)
+)
+
+func init() {
+	config.SetConsumerService(greeterProvider)
+}
+
+// need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
+func main() {
+	config.Load()
+	time.Sleep(time.Second * 3)
+
+	testSayHello()
+
+	initSignal()
+}
+
+func testSayHello() {
+	ctx := context.Background()
+	ctx = context.WithValue(ctx, "tri-req-id", "triple-request-id-demo")
+
+	req := pkg.HelloRequest{
+		Name: "laurence",
+	}
+
+	r, err := greeterProvider.SayHelloStream(ctx)
+	if err != nil {
+		panic(err)
+	}
+
+	for i := 0; i < 2; i++ {
+		if err := r.Send(&req); err != nil {
+			logger.Errorf("Send SayHelloStream num %d request error = %v\n", i+1, err)
+			return
+		}
+	}
+
+	rspUser := &pkg.User{}
+	if err := r.RecvMsg(rspUser); err != nil {
+		logger.Errorf("Receive 1 SayHelloStream response user error = %v\n", err)
+		return
+	}
+	logger.Infof("Receive 1 user = %+v\n", rspUser)
+	if err := r.Send(&req); err != nil {
+		logger.Errorf("Send SayHelloStream num %d request error = %v\n", 3, err)
+		return
+	}
+	rspUser2 := &pkg.User{}
+	if err := r.RecvMsg(rspUser2); err != nil {
+		logger.Errorf("Receive 2 SayHelloStream response user error = %v\n", err)
+		return
+	}
+	logger.Infof("Receive 2 user = %+v\n", rspUser2)
+}
+
+func initSignal() {
+	signals := make(chan os.Signal, 1)
+	// It is not possible to block SIGKILL or syscall.SIGSTOP
+	signal.Notify(signals, os.Interrupt, os.Kill, syscall.SIGHUP, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT)
+	for {
+		sig := <-signals
+		logger.Infof("get signal %s", sig.String())
+		switch sig {
+		case syscall.SIGHUP:
+			// reload()
+		default:
+			time.Sleep(time.Second * 5)
+			time.AfterFunc(time.Duration(survivalTimeout), func() {
+				logger.Warnf("app exit now by force...")
+				os.Exit(1)
+			})
+
+			// The program exits normally or timeout forcibly exits.
+			fmt.Println("provider app exit now...")
+			return
+		}
+	}
+}
diff --git a/generic/protobuf-nacos/client/conf/client.yml b/generic/protobuf-nacos/client/conf/client.yml
new file mode 100644
index 0000000..74e0f18
--- /dev/null
+++ b/generic/protobuf-nacos/client/conf/client.yml
@@ -0,0 +1,23 @@
+# dubbo-go3 client yaml configure file
+# application config (not necessary)
+application:
+  organization: "dubbo.io"
+  name: "greeterImpl"
+  module: "dubbo-go3.0 client"
+  version: "0.0.1"
+  environment: "dev"
+
+# registry config
+registries:
+  "demoZk":
+    protocol: "nacos"
+    timeout: "3s"
+    address: "console.nacos.io:80"
+
+# reference config
+references:
+  "greeterImpl":
+    registry: "demoZk"
+    protocol: "tri"
+    interface: "protobuf.Greeter"
+    url: tri://localhost:20001
diff --git a/generic/protobuf-nacos/client/conf/log.yml b/generic/protobuf-nacos/client/conf/log.yml
new file mode 100644
index 0000000..8c3f700
--- /dev/null
+++ b/generic/protobuf-nacos/client/conf/log.yml
@@ -0,0 +1,27 @@
+level: "info"
+development: true
+disableCaller: false
+disableStacktrace: false
+sampling:
+encoding: "console"
+
+# encoder
+encoderConfig:
+  messageKey: "message"
+  levelKey: "level"
+  timeKey: "time"
+  nameKey: "logger"
+  callerKey: "caller"
+  stacktraceKey: "stacktrace"
+  lineEnding: ""
+  levelEncoder: "capital"
+  timeEncoder: "iso8601"
+  durationEncoder: "seconds"
+  callerEncoder: "short"
+  nameEncoder: ""
+
+outputPaths:
+  - "stderr"
+errorOutputPaths:
+  - "stderr"
+initialFields:
diff --git a/generic/protobuf-nacos/client/pkg/helloworld.pb.go b/generic/protobuf-nacos/client/pkg/helloworld.pb.go
new file mode 100644
index 0000000..bdd4fc5
--- /dev/null
+++ b/generic/protobuf-nacos/client/pkg/helloworld.pb.go
@@ -0,0 +1,419 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: helloworld.proto
+
+package pkg
+
+import (
+	context "context"
+	fmt "fmt"
+	math "math"
+)
+
+import (
+	"dubbo.apache.org/dubbo-go/v3/protocol"
+	dgrpc "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
+	"dubbo.apache.org/dubbo-go/v3/protocol/invocation"
+
+	tripleConstant "github.com/dubbogo/triple/pkg/common/constant"
+	dubbo3 "github.com/dubbogo/triple/pkg/triple"
+
+	proto "github.com/golang/protobuf/proto"
+
+	grpc "google.golang.org/grpc"
+	codes "google.golang.org/grpc/codes"
+	status "google.golang.org/grpc/status"
+)
+
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// The request message containing the user's name.
+type HelloRequest struct {
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *HelloRequest) Reset()         { *m = HelloRequest{} }
+func (m *HelloRequest) String() string { return proto.CompactTextString(m) }
+func (*HelloRequest) ProtoMessage()    {}
+func (*HelloRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_17b8c58d586b62f2, []int{0}
+}
+
+func (m *HelloRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_HelloRequest.Unmarshal(m, b)
+}
+func (m *HelloRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_HelloRequest.Marshal(b, m, deterministic)
+}
+func (m *HelloRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_HelloRequest.Merge(m, src)
+}
+func (m *HelloRequest) XXX_Size() int {
+	return xxx_messageInfo_HelloRequest.Size(m)
+}
+func (m *HelloRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_HelloRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_HelloRequest proto.InternalMessageInfo
+
+func (m *HelloRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// The response message containing the greetings
+type User struct {
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	Id                   string   `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
+	Age                  int32    `protobuf:"varint,3,opt,name=age,proto3" json:"age,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *User) Reset()         { *m = User{} }
+func (m *User) String() string { return proto.CompactTextString(m) }
+func (*User) ProtoMessage()    {}
+func (*User) Descriptor() ([]byte, []int) {
+	return fileDescriptor_17b8c58d586b62f2, []int{1}
+}
+
+func (m *User) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_User.Unmarshal(m, b)
+}
+func (m *User) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_User.Marshal(b, m, deterministic)
+}
+func (m *User) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_User.Merge(m, src)
+}
+func (m *User) XXX_Size() int {
+	return xxx_messageInfo_User.Size(m)
+}
+func (m *User) XXX_DiscardUnknown() {
+	xxx_messageInfo_User.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_User proto.InternalMessageInfo
+
+func (m *User) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *User) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *User) GetAge() int32 {
+	if m != nil {
+		return m.Age
+	}
+	return 0
+}
+
+func init() {
+	proto.RegisterType((*HelloRequest)(nil), "protobuf.HelloRequest")
+	proto.RegisterType((*User)(nil), "protobuf.User")
+}
+
+func init() { proto.RegisterFile("helloworld.proto", fileDescriptor_17b8c58d586b62f2) }
+
+var fileDescriptor_17b8c58d586b62f2 = []byte{
+	// 178 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0xc8, 0x48, 0xcd, 0xc9,
+	0xc9, 0x2f, 0xcf, 0x2f, 0xca, 0x49, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x00, 0x53,
+	0x49, 0xa5, 0x69, 0x4a, 0x4a, 0x5c, 0x3c, 0x1e, 0x20, 0xd9, 0xa0, 0xd4, 0xc2, 0xd2, 0xd4, 0xe2,
+	0x12, 0x21, 0x21, 0x2e, 0x96, 0xbc, 0xc4, 0xdc, 0x54, 0x09, 0x46, 0x05, 0x46, 0x0d, 0xce, 0x20,
+	0x30, 0x5b, 0xc9, 0x86, 0x8b, 0x25, 0xb4, 0x38, 0xb5, 0x08, 0x9b, 0x9c, 0x10, 0x1f, 0x17, 0x53,
+	0x66, 0x8a, 0x04, 0x13, 0x58, 0x84, 0x29, 0x33, 0x45, 0x48, 0x80, 0x8b, 0x39, 0x31, 0x3d, 0x55,
+	0x82, 0x59, 0x81, 0x51, 0x83, 0x35, 0x08, 0xc4, 0x34, 0xaa, 0xe7, 0x62, 0x77, 0x2f, 0x4a, 0x4d,
+	0x2d, 0x49, 0x2d, 0x12, 0x32, 0xe1, 0xe2, 0x08, 0x4e, 0xac, 0x04, 0xdb, 0x27, 0x24, 0xa6, 0x07,
+	0x73, 0x83, 0x1e, 0xb2, 0x03, 0xa4, 0xf8, 0x10, 0xe2, 0x20, 0x4b, 0x95, 0x18, 0x84, 0xec, 0xb8,
+	0xf8, 0x60, 0xba, 0x82, 0x4b, 0x8a, 0x52, 0x13, 0x73, 0x89, 0xd7, 0xab, 0xc1, 0x68, 0xc0, 0x98,
+	0xc4, 0x06, 0x16, 0x34, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x98, 0x59, 0x9f, 0x6b, 0x07, 0x01,
+	0x00, 0x00,
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConnInterface
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion6
+
+// GreeterClient is the client API for Greeter service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type GreeterClient interface {
+	// Sends a greeting
+	SayHello(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (*User, error)
+	SayHelloStream(ctx context.Context, opts ...grpc.CallOption) (Greeter_SayHelloStreamClient, error)
+}
+
+type greeterClient struct {
+	cc grpc.ClientConnInterface
+}
+
+func NewGreeterClient(cc grpc.ClientConnInterface) GreeterClient {
+	return &greeterClient{cc}
+}
+
+func (c *greeterClient) SayHello(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (*User, error) {
+	out := new(User)
+	err := c.cc.Invoke(ctx, "/protobuf.Greeter/SayHello", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *greeterClient) SayHelloStream(ctx context.Context, opts ...grpc.CallOption) (Greeter_SayHelloStreamClient, error) {
+	stream, err := c.cc.NewStream(ctx, &_Greeter_serviceDesc.Streams[0], "/protobuf.Greeter/SayHelloStream", opts...)
+	if err != nil {
+		return nil, err
+	}
+	x := &greeterSayHelloStreamClient{stream}
+	return x, nil
+}
+
+type Greeter_SayHelloStreamClient interface {
+	Send(*HelloRequest) error
+	Recv() (*User, error)
+	grpc.ClientStream
+}
+
+type greeterSayHelloStreamClient struct {
+	grpc.ClientStream
+}
+
+func (x *greeterSayHelloStreamClient) Send(m *HelloRequest) error {
+	return x.ClientStream.SendMsg(m)
+}
+
+func (x *greeterSayHelloStreamClient) Recv() (*User, error) {
+	m := new(User)
+	if err := x.ClientStream.RecvMsg(m); err != nil {
+		return nil, err
+	}
+	return m, nil
+}
+
+// GreeterServer is the server API for Greeter service.
+type GreeterServer interface {
+	// Sends a greeting
+	SayHello(context.Context, *HelloRequest) (*User, error)
+	SayHelloStream(Greeter_SayHelloStreamServer) error
+}
+
+// UnimplementedGreeterServer can be embedded to have forward compatible implementations.
+type UnimplementedGreeterServer struct {
+}
+
+func (*UnimplementedGreeterServer) SayHello(ctx context.Context, req *HelloRequest) (*User, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SayHello not implemented")
+}
+func (*UnimplementedGreeterServer) SayHelloStream(srv Greeter_SayHelloStreamServer) error {
+	return status.Errorf(codes.Unimplemented, "method SayHelloStream not implemented")
+}
+
+func RegisterGreeterServer(s *grpc.Server, srv GreeterServer) {
+	s.RegisterService(&_Greeter_serviceDesc, srv)
+}
+
+func _Greeter_SayHello_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(HelloRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GreeterServer).SayHello(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/protobuf.Greeter/SayHello",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GreeterServer).SayHello(ctx, req.(*HelloRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Greeter_SayHelloStream_Handler(srv interface{}, stream grpc.ServerStream) error {
+	return srv.(GreeterServer).SayHelloStream(&greeterSayHelloStreamServer{stream})
+}
+
+type Greeter_SayHelloStreamServer interface {
+	Send(*User) error
+	Recv() (*HelloRequest, error)
+	grpc.ServerStream
+}
+
+type greeterSayHelloStreamServer struct {
+	grpc.ServerStream
+}
+
+func (x *greeterSayHelloStreamServer) Send(m *User) error {
+	return x.ServerStream.SendMsg(m)
+}
+
+func (x *greeterSayHelloStreamServer) Recv() (*HelloRequest, error) {
+	m := new(HelloRequest)
+	if err := x.ServerStream.RecvMsg(m); err != nil {
+		return nil, err
+	}
+	return m, nil
+}
+
+var _Greeter_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "protobuf.Greeter",
+	HandlerType: (*GreeterServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "SayHello",
+			Handler:    _Greeter_SayHello_Handler,
+		},
+	},
+	Streams: []grpc.StreamDesc{
+		{
+			StreamName:    "SayHelloStream",
+			Handler:       _Greeter_SayHelloStream_Handler,
+			ServerStreams: true,
+			ClientStreams: true,
+		},
+	},
+	Metadata: "helloworld.proto",
+}
+
+type greeterDubbo3Client struct {
+	cc *dubbo3.TripleConn
+}
+
+func NewGreeterDubbo3Client(cc *dubbo3.TripleConn) GreeterClient {
+	return &greeterDubbo3Client{cc}
+}
+func (c *greeterDubbo3Client) SayHello(ctx context.Context, in *HelloRequest, opt ...grpc.CallOption) (*User, error) {
+	out := new(User)
+	interfaceKey := ctx.Value(tripleConstant.InterfaceKey).(string)
+	err := c.cc.Invoke(ctx, "/"+interfaceKey+"/SayHello", in, out)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+func (c *greeterDubbo3Client) SayHelloStream(ctx context.Context, opt ...grpc.CallOption) (Greeter_SayHelloStreamClient, error) {
+	interfaceKey := ctx.Value(tripleConstant.InterfaceKey).(string)
+	stream, err := c.cc.NewStream(ctx, "/"+interfaceKey+"/SayHelloStream", opt...)
+	if err != nil {
+		return nil, err
+	}
+	x := &greeterSayHelloStreamClient{stream}
+	return x, nil
+}
+
+// GreeterClientImpl is the client API for Greeter service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type GreeterClientImpl struct {
+	// Sends a greeting
+	SayHello       func(ctx context.Context, in *HelloRequest, out *User) error
+	SayHelloStream func(ctx context.Context) (Greeter_SayHelloStreamClient, error)
+}
+
+func (c *GreeterClientImpl) Reference() string {
+	return "greeterImpl"
+}
+
+func (c *GreeterClientImpl) GetDubboStub(cc *dubbo3.TripleConn) GreeterClient {
+	return NewGreeterDubbo3Client(cc)
+}
+
+type GreeterProviderBase struct {
+	proxyImpl protocol.Invoker
+}
+
+func (s *GreeterProviderBase) SetProxyImpl(impl protocol.Invoker) {
+	s.proxyImpl = impl
+}
+
+func (s *GreeterProviderBase) GetProxyImpl() protocol.Invoker {
+	return s.proxyImpl
+}
+
+func (c *GreeterProviderBase) Reference() string {
+	return "greeterImpl"
+}
+
+func _DUBBO_Greeter_SayHello_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(HelloRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	base := srv.(dgrpc.Dubbo3GrpcService)
+	args := []interface{}{}
+	args = append(args, in)
+	invo := invocation.NewRPCInvocation("SayHello", args, nil)
+	if interceptor == nil {
+		result := base.GetProxyImpl().Invoke(ctx, invo)
+		return result.Result(), result.Error()
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/protobuf.Greeter/SayHello",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		result := base.GetProxyImpl().Invoke(context.Background(), invo)
+		return result.Result(), result.Error()
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _DUBBO_Greeter_SayHelloStream_Handler(srv interface{}, stream grpc.ServerStream) error {
+	_, ok := srv.(dgrpc.Dubbo3GrpcService)
+	invo := invocation.NewRPCInvocation("SayHelloStream", nil, nil)
+	if !ok {
+		fmt.Println(invo)
+	}
+	return srv.(GreeterServer).SayHelloStream(&greeterSayHelloStreamServer{stream})
+}
+
+func (s *GreeterProviderBase) ServiceDesc() *grpc.ServiceDesc {
+	return &grpc.ServiceDesc{
+		ServiceName: "protobuf.Greeter",
+		HandlerType: (*GreeterServer)(nil),
+		Methods: []grpc.MethodDesc{
+			{
+				MethodName: "SayHello",
+				Handler:    _DUBBO_Greeter_SayHello_Handler,
+			},
+		},
+		Streams: []grpc.StreamDesc{
+			{
+				StreamName:    "SayHelloStream",
+				Handler:       _DUBBO_Greeter_SayHelloStream_Handler,
+				ServerStreams: true,
+				ClientStreams: true,
+			},
+		},
+		Metadata: "helloworld.proto",
+	}
+}
diff --git a/generic/protobuf-nacos/client/pkg/helloworld.proto b/generic/protobuf-nacos/client/pkg/helloworld.proto
new file mode 100644
index 0000000..dac8ef0
--- /dev/null
+++ b/generic/protobuf-nacos/client/pkg/helloworld.proto
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+package pkg;
+
+// The greeting service definition.
+service Greeter {
+  // Sends a greeting
+  rpc SayHello (HelloRequest) returns (User) {}
+  rpc SayHelloStream (stream HelloRequest) returns (stream User) {}
+}
+
+// The request message containing the user's name.
+message HelloRequest {
+  string name = 1;
+}
+
+// The response message containing the greetings
+message User {
+  string name = 1;
+  string id = 2;
+  int32 age = 3;
+}
diff --git a/generic/protobuf-nacos/client/pkg/protobuf.mk b/generic/protobuf-nacos/client/pkg/protobuf.mk
new file mode 100644
index 0000000..beffc5e
--- /dev/null
+++ b/generic/protobuf-nacos/client/pkg/protobuf.mk
@@ -0,0 +1,26 @@
+.PHONY: compile
+PROTOC_GEN_GO := $(GOPATH)/bin/protoc-gen-go
+PROTOC := $(shell which protoc)
+ifeq ($(PROTOC),)
+	PROTOC = must-rebuild
+endif
+
+UNAME := $(shell uname)
+
+$(PROTOC):
+ifeq ($(UNAME), Darwin)
+	brew install protobuf
+endif
+ifeq ($(UNAME), Linux)
+	sudo apt-get install protobuf-compiler
+endif
+
+$(PROTOC_GEN_GO):
+	go get -u github.com/apache/dubbo-go/protocol/dubbo3/protoc-gen-dubbo3@3.0
+
+helloworld.pb.go: helloworld.proto | $(PROTOC_GEN_GO) $(PROTOC)
+	protoc -I . helloworld.proto --dubbo3_out=plugins=grpc+dubbo:.
+
+.PHONY: compile
+compile: helloworld.pb.go
+
diff --git a/generic/protobuf-nacos/server/cmd/server.go b/generic/protobuf-nacos/server/cmd/server.go
new file mode 100644
index 0000000..446117f
--- /dev/null
+++ b/generic/protobuf-nacos/server/cmd/server.go
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package main
+
+import (
+	"fmt"
+	"os"
+	"os/signal"
+	"syscall"
+	"time"
+)
+
+import (
+	_ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
+	_ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
+	"dubbo.apache.org/dubbo-go/v3/common/logger"
+	_ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
+	"dubbo.apache.org/dubbo-go/v3/config"
+	_ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
+	_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
+	_ "dubbo.apache.org/dubbo-go/v3/registry/nacos"
+	_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
+	_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+
+	_ "github.com/dubbogo/triple/pkg/triple"
+)
+
+import (
+	//"github.com/apache/dubbo-go-samples/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/pkg"
+	"github.com/apache/dubbo-go-samples/generic/protobuf-nacos/server/pkg"
+)
+
+var (
+	survivalTimeout = int(3 * time.Second)
+)
+
+// need to setup environment variable "CONF_PROVIDER_FILE_PATH" to "conf/server.yml" before run
+func main() {
+	config.SetProviderService(pkg.NewGreeterProvider())
+	config.Load()
+	initSignal()
+}
+
+func initSignal() {
+	signals := make(chan os.Signal, 1)
+	// It is not possible to block SIGKILL or syscall.SIGSTOP
+	signal.Notify(signals, os.Interrupt, os.Kill, syscall.SIGHUP, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT)
+	for {
+		sig := <-signals
+		logger.Infof("get signal %s", sig.String())
+		switch sig {
+		case syscall.SIGHUP:
+			// reload()
+		default:
+			time.Sleep(time.Second * 5)
+			time.AfterFunc(time.Duration(survivalTimeout), func() {
+				logger.Warnf("app exit now by force...")
+				os.Exit(1)
+			})
+
+			// The program exits normally or timeout forcibly exits.
+			fmt.Println("provider app exit now...")
+			return
+		}
+	}
+}
diff --git a/generic/protobuf-nacos/server/conf/client.yml b/generic/protobuf-nacos/server/conf/client.yml
new file mode 100644
index 0000000..eb65e8c
--- /dev/null
+++ b/generic/protobuf-nacos/server/conf/client.yml
@@ -0,0 +1,22 @@
+# dubbo-go3 client yaml configure file
+# application config (not necessary)
+application:
+  organization: "dubbo.io"
+  name: "greeterImpl"
+  module: "dubbo-go3.0 client"
+  version: "0.0.1"
+  environment: "dev"
+
+# registry config
+registries:
+  "demoZk":
+    protocol: "zookeeper"
+    timeout: "3s"
+    address: "127.0.0.1:2181"
+
+# reference config
+references:
+  "greeterImpl":
+    registry: "demoZk"
+    protocol: "tri"
+    interface: "protobuf.Greeter"
\ No newline at end of file
diff --git a/generic/protobuf-nacos/server/conf/log.yml b/generic/protobuf-nacos/server/conf/log.yml
new file mode 100644
index 0000000..8c3f700
--- /dev/null
+++ b/generic/protobuf-nacos/server/conf/log.yml
@@ -0,0 +1,27 @@
+level: "info"
+development: true
+disableCaller: false
+disableStacktrace: false
+sampling:
+encoding: "console"
+
+# encoder
+encoderConfig:
+  messageKey: "message"
+  levelKey: "level"
+  timeKey: "time"
+  nameKey: "logger"
+  callerKey: "caller"
+  stacktraceKey: "stacktrace"
+  lineEnding: ""
+  levelEncoder: "capital"
+  timeEncoder: "iso8601"
+  durationEncoder: "seconds"
+  callerEncoder: "short"
+  nameEncoder: ""
+
+outputPaths:
+  - "stderr"
+errorOutputPaths:
+  - "stderr"
+initialFields:
diff --git a/generic/protobuf-nacos/server/conf/server.yml b/generic/protobuf-nacos/server/conf/server.yml
new file mode 100644
index 0000000..6018b37
--- /dev/null
+++ b/generic/protobuf-nacos/server/conf/server.yml
@@ -0,0 +1,28 @@
+# dubbo-go3 server yaml configure file
+# application config (not necessary)
+application:
+  organization: "dubbo.io"
+  name: "GreeterProvider"
+  module: "dubbo-go3.0 server"
+  version: "0.0.1"
+  environment: "dev"
+
+# registry config
+registries:
+  "demoZK":
+    protocol: "nacos"
+    timeout: "3s"
+    address: "console.nacos.io:80"
+
+# service config
+services:
+  "greeterImpl":
+    registry: "demoZK"
+    protocol: "tri"
+    interface: "protobuf.Greeter" # must be compatible with grpc or dubbo-java
+
+# protocol config
+protocols:
+  "tri":
+    name: "tri"
+    port: 20001
diff --git a/generic/protobuf-nacos/server/pkg/greeter.go b/generic/protobuf-nacos/server/pkg/greeter.go
new file mode 100644
index 0000000..39777a0
--- /dev/null
+++ b/generic/protobuf-nacos/server/pkg/greeter.go
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package pkg
+
+import (
+	"context"
+	"fmt"
+)
+
+import (
+	"dubbo.apache.org/dubbo-go/v3/common/logger"
+
+	tripleConstant "github.com/dubbogo/triple/pkg/common/constant"
+)
+
+import (
+	dubbo3 "github.com/apache/dubbo-go-samples/general/dubbo3/pb/dubbogo-grpc/protobuf/dubbo3"
+)
+
+type GreeterProvider struct {
+	*dubbo3.GreeterProviderBase
+}
+
+func NewGreeterProvider() *GreeterProvider {
+	return &GreeterProvider{
+		GreeterProviderBase: &dubbo3.GreeterProviderBase{},
+	}
+}
+
+func (s *GreeterProvider) SayHelloStream(svr dubbo3.Greeter_SayHelloStreamServer) error {
+	c, err := svr.Recv()
+	if err != nil {
+		return err
+	}
+	logger.Infof("Dubbo-go3 GreeterProvider recv 1 user, name = %s\n", c.Name)
+	c2, err := svr.Recv()
+	if err != nil {
+		return err
+	}
+	logger.Infof("Dubbo-go3 GreeterProvider recv 2 user, name = %s\n", c2.Name)
+
+	svr.Send(&dubbo3.User{
+		Name: "hello " + c.Name,
+		Age:  18,
+		Id:   "123456789",
+	})
+	c3, err := svr.Recv()
+	if err != nil {
+		return err
+	}
+	logger.Infof("Dubbo-go3 GreeterProvider recv 3 user, name = %s\n", c3.Name)
+
+	svr.Send(&dubbo3.User{
+		Name: "hello " + c2.Name,
+		Age:  19,
+		Id:   "123456789",
+	})
+	return nil
+}
+
+func (s *GreeterProvider) SayHello(ctx context.Context, in *dubbo3.HelloRequest) (*dubbo3.User, error) {
+	logger.Infof("Dubbo3 GreeterProvider get user name = %s\n" + in.Name)
+	fmt.Println("get triple header tri-req-id = ", ctx.Value(tripleConstant.TripleCtxKey(tripleConstant.TripleRequestID)))
+	fmt.Println("get triple header tri-service-version = ", ctx.Value(tripleConstant.TripleCtxKey(tripleConstant.TripleServiceVersion)))
+	return &dubbo3.User{Name: "Hello " + in.Name, Id: "12345", Age: 21}, nil
+}