gitee.com/h79/goutils@v1.22.10/discovery/service.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/registry" 9 "gitee.com/h79/goutils/discovery/service" 10 "gitee.com/h79/goutils/discovery/zookeeper" 11 ) 12 13 func NewService(cfg config.Config, points config.EndPoints, registry registry.Registry) (service.Service, error) { 14 if nsf, ok := _service[points.Type]; ok { 15 return nsf(cfg, points, registry) 16 } 17 switch points.Type { 18 case "consul": 19 return consul.NewService(cfg, points, registry) 20 case "zookeeper": 21 return zookeeper.NewService(cfg, points, registry) 22 case "etcd": 23 return etcd.NewService(cfg, points, registry) 24 default: 25 return local.NewService(cfg, points, registry) 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: conf.Node, 40 // Server: conf.Server, 41 // HealthCheck: conf.HealthCheck, 42 // Meta: conf.Meta, 43 // Tags: conf.Tags, 44 //} 45 46 // register service to consul,zk,dubbo,etcd... 47 service, err := NewService(*conf, points) 48 if err != nil { 49 return nil, err 50 } 51 service.Start() 52 */