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

2 years ago
  1. package micro
  2. import (
  3. "gitea.baoapi.com/root/stu_uuos/config"
  4. "strings"
  5. "github.com/micro/go-micro/v2"
  6. "github.com/micro/go-micro/v2/registry"
  7. "github.com/micro/go-plugins/registry/consul/v2"
  8. "github.com/micro/go-plugins/registry/etcdv3/v2"
  9. "github.com/micro/go-plugins/registry/kubernetes/v2"
  10. "github.com/micro/go-plugins/registry/nats/v2"
  11. )
  12. type MicroService struct {
  13. micro.Service
  14. ServiceName string
  15. }
  16. func InitMicro() {
  17. //NewCipherService()
  18. }
  19. func newService(clientName string) micro.Service {
  20. return micro.NewService(
  21. micro.Name(clientName),
  22. micro.Version("latest"),
  23. micro.Registry(newRegistry()),
  24. )
  25. }
  26. func newRegistry() registry.Registry {
  27. var reg registry.Registry
  28. switch config.GetConfig().Micro.Registry.Name {
  29. case "etcd", "etcdv3":
  30. reg = etcdv3.NewRegistry(
  31. registry.Addrs(parseAddrs()...),
  32. )
  33. case "kubernetes":
  34. reg = kubernetes.NewRegistry(
  35. registry.Addrs(parseAddrs()...),
  36. )
  37. case "consul":
  38. reg = consul.NewRegistry(
  39. registry.Addrs(parseAddrs()...),
  40. )
  41. case "nats":
  42. reg = nats.NewRegistry(
  43. registry.Addrs(parseAddrs()...),
  44. )
  45. default:
  46. panic("registry unknown")
  47. }
  48. return reg
  49. }
  50. func parseAddrs() []string {
  51. return strings.Split(config.GetConfig().Micro.Registry.Addrs, ",")
  52. }