serviceService.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package main
  2. import (
  3. "app.yhyue.com/BP/servicerd/proto"
  4. "context"
  5. )
  6. /**
  7. 服务治理
  8. */
  9. type Service struct {
  10. }
  11. //
  12. func (s *Service) Registe(ctx context.Context, in *proto.ServiceMeta) (*proto.StringRepData, error) {
  13. AddServiceMeta(in.Name, in.Ip, in.Port, in.Workers, in.Balance)
  14. return &proto.StringRepData{Data: "ok"}, nil
  15. }
  16. //
  17. func (s *Service) Destory(ctx context.Context, meta *proto.ServiceMeta) (*proto.StringRepData, error) {
  18. DestoryServiceMeta(meta.Ip, meta.Port)
  19. return &proto.StringRepData{Data: "ok"}, nil
  20. }
  21. //
  22. func (s *Service) Apply(ctx context.Context, in *proto.ApplyReqData) (*proto.ApplyRepData, error) {
  23. var addr, id string
  24. var err error
  25. if in.Balance == LOAD {
  26. addr, id, err = ApplyWithLoad(in.Name)
  27. } else {
  28. addr, id, err = ApplyWithNotUse(in.Name)
  29. }
  30. if err != nil {
  31. return &proto.ApplyRepData{Addr: addr, ResourceId: id}, nil
  32. } else {
  33. return &proto.ApplyRepData{Addr: "", ResourceId: ""}, err
  34. }
  35. }
  36. func (s *Service) Release(ctx context.Context, in *proto.ApplyRepData) (*proto.StringRepData, error) {
  37. Release(in.ResourceId)
  38. return &proto.StringRepData{Data: "ok"}, nil
  39. }