tree 659d47250accebcc6661dbced33209d1eb527873
parent d63bf501c0b7fa83440e0e8585413993b4386e0e
author bingtianyiyan <48984656+bingtianyiyan@users.noreply.github.com> 1661173521 +0800
committer GitHub <noreply@github.com> 1661173521 +0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJjA38RCRBK7hj4Ov3rIwAA3fQIAJJyJZRAlVkSOT36M2eJvs5p
 K5ovYvTCnNq3CNLymIr/Hb6LcA6MWZsgfo4l0FNGaeWA5GAbYs6UK+EVD7z4tZZy
 wBan96OQ/ZFy0D97pNmNrN6xR2TbS3zL6nwxiALqKiCo69ygXFkDQaX3A4d/18yz
 uSPe74S0idYUczPIG79pRqvr87YaSEmIYbcPlp/0YfD8j4wYKpFvaEexkmdkgex2
 h4UE9AuNWABvUfvNomhcwdHGf0x0agp+ozBC9fcI851VPvQdsaJqT40mXGOW0SZs
 9TEhGmrt0OD8HHw2FpBN8oWY1dVVVs2tn/qsVgsjLvqiHJKDRYwrhc8zfal7zro=
 =kEby
 -----END PGP SIGNATURE-----
 

Modify multiple Register methods and configuration files and integrate partial methods, test cases and add separate classes encapsulated by ETCD and ZooKeeper (#38)

* feat:fix path like "path01\\path02"  special in system

* fix:
1.nacos ServerAddresses if is cluster should split ServerList with ,
2.rewrite partion ShenyuNacosRegister.cs method PersistURI and PersistInterface accoding with shenyu nacos client code

* feat:
1.add ShenyuConsulRegister.cs init params check
2.edit ShenyuConsulRegister.cs method PersistInterface
3.edit ShenyuConsulRegister.cs method PersistURI

* feat:
1.edit ShenyuZookeeperRegister.cs rewrite init zkClient and PersistURI and  PersistInterface
2.zadd ZookeeperUtils

* feat:
1.add ZookeeperClientTest  and add apache comment with file
2.add etcdRegister and etcdClientTest

* feat:
1. add xx_config.json sample in different RegisterConfigAsync
2. Adds fixed strings for fixed configuration file field for cousul props
3. remove some comment

* feat:
1.Path.Combine if secondParms has / will alway return secondParms,so to trim /
2.ectdUtils rent expire change method
3.nacos init add accessKey and secretKey

* feat:
1.remove ZookeeperClient same class and unused method
2.add search shengyuAttribute class list

* feat:
1.Nacos filed namespace
2.zookeeper modify reconnect timeout

* feat:
1.remove zookeeper same params

* feat:
1.add ectd docs/etcd_registration.md

* feat:
1.zkClient create timeout logical

* feat:
1.nacosRegister use ConcurrentQueue replace HashSet
2.registerPath add remove perfix and suffix string to prevent user

* feat:
1.zookeeper_register createMode

* feat:
1.edit zookeeper use digest and edit zookeeper Ephemerals node could not create persient child node

* feat:
1.zk status change create node

* feat：
1.consul config add token

* feat:
1.edit docs

* feat:
1. add apache license header

* feat:
1.comment out .because now is not have server like zookeeper,etcd started or mock