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  */