You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.2 KiB
61 lines
1.2 KiB
package micro
|
|
|
|
import (
|
|
"gitea.baoapi.com/root/stu_uuos/config"
|
|
"strings"
|
|
|
|
"github.com/micro/go-micro/v2"
|
|
"github.com/micro/go-micro/v2/registry"
|
|
"github.com/micro/go-plugins/registry/consul/v2"
|
|
"github.com/micro/go-plugins/registry/etcdv3/v2"
|
|
"github.com/micro/go-plugins/registry/kubernetes/v2"
|
|
"github.com/micro/go-plugins/registry/nats/v2"
|
|
)
|
|
|
|
type MicroService struct {
|
|
micro.Service
|
|
ServiceName string
|
|
}
|
|
|
|
func InitMicro() {
|
|
//NewCipherService()
|
|
}
|
|
|
|
func newService(clientName string) micro.Service {
|
|
return micro.NewService(
|
|
micro.Name(clientName),
|
|
micro.Version("latest"),
|
|
micro.Registry(newRegistry()),
|
|
)
|
|
}
|
|
|
|
func newRegistry() registry.Registry {
|
|
var reg registry.Registry
|
|
|
|
switch config.GetConfig().Micro.Registry.Name {
|
|
case "etcd", "etcdv3":
|
|
reg = etcdv3.NewRegistry(
|
|
registry.Addrs(parseAddrs()...),
|
|
)
|
|
case "kubernetes":
|
|
reg = kubernetes.NewRegistry(
|
|
registry.Addrs(parseAddrs()...),
|
|
)
|
|
case "consul":
|
|
reg = consul.NewRegistry(
|
|
registry.Addrs(parseAddrs()...),
|
|
)
|
|
case "nats":
|
|
reg = nats.NewRegistry(
|
|
registry.Addrs(parseAddrs()...),
|
|
)
|
|
default:
|
|
panic("registry unknown")
|
|
}
|
|
|
|
return reg
|
|
}
|
|
|
|
func parseAddrs() []string {
|
|
return strings.Split(config.GetConfig().Micro.Registry.Addrs, ",")
|
|
}
|