gitee.com/h79/goutils@v1.22.10/discovery/client.go (about) 1 package discovery 2 3 import ( 4 "gitee.com/h79/goutils/discovery/config" 5 "gitee.com/h79/goutils/discovery/consul" 6 "gitee.com/h79/goutils/discovery/etcd" 7 "gitee.com/h79/goutils/discovery/local" 8 "gitee.com/h79/goutils/discovery/resolver" 9 "gitee.com/h79/goutils/discovery/service" 10 "gitee.com/h79/goutils/discovery/zookeeper" 11 ) 12 13 func NewClient(conf config.Config, points config.EndPoints, resolver resolver.Resolver) (service.Client, error) { 14 if ncf, ok := _client[points.Type]; ok { 15 return ncf(conf, points, resolver) 16 } 17 switch points.Type { 18 case "consul": 19 return consul.NewConsulClient(conf, points, resolver) 20 case "zookeeper": 21 return zookeeper.NewZkClient(conf, points, resolver) 22 case "etcd": 23 return etcd.NewClient(conf, points, resolver) 24 default: 25 return local.NewDefaultClient(conf, points, resolver) 26 } 27 } 28 29 /* 30 * example 31 //points, err := server.ReadEndPoints(endpointFileName) 32 //if err != nil { 33 // return nil, err 34 //} 35 // 36 //health, err := server.ReadHealth("") 37 38 //cfg := config.Config{ 39 // Node: , 40 // Server: , 41 // HealthCheck: health, 42 // Meta: , 43 // Tags: , 44 //} 45 46 client, err := NewClient(*conf, points) 47 if err != nil { 48 return nil, err 49 } 50 */