biservice.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package main
  2. import (
  3. "flag"
  4. "fmt"
  5. "os"
  6. "os/signal"
  7. "syscall"
  8. "bp.jydev.jianyu360.cn/BaseService/biService/api/internal/config"
  9. "bp.jydev.jianyu360.cn/BaseService/biService/api/internal/handler"
  10. "bp.jydev.jianyu360.cn/BaseService/biService/api/internal/svc"
  11. "bp.jydev.jianyu360.cn/BaseService/gateway/core/node"
  12. "github.com/zeromicro/go-zero/core/conf"
  13. "github.com/zeromicro/go-zero/core/logx"
  14. "github.com/zeromicro/go-zero/rest"
  15. )
  16. var configFile = flag.String("f", "etc/biservice-api.yaml", "the config file")
  17. func main() {
  18. flag.Parse()
  19. var c config.Config
  20. conf.MustLoad(*configFile, &c)
  21. // logx 根据配置初始化
  22. logx.MustSetup(c.Logx)
  23. //前置代理相关
  24. var serverCode string = "biservice"
  25. var serverPort int = c.Port
  26. closeNotify, err := node.NewNode(c.GatewayRpcConf.Etcd.Hosts[0]).Register(serverCode, fmt.Sprintf("%d", serverPort))
  27. if err != nil {
  28. panic(err)
  29. }
  30. ctx := svc.NewServiceContext(c)
  31. server := rest.MustNewServer(c.RestConf)
  32. defer server.Stop()
  33. handler.RegisterHandlers(server, ctx)
  34. fmt.Printf("Starting server at %s:%d...\n", c.Host, c.Port)
  35. server.Start()
  36. quit := make(chan os.Signal, 1)
  37. signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
  38. <-quit
  39. closeNotify()
  40. }