serviceService.go 1.2 KB

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