golang-im聊天
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

před 2 roky
před 2 roky
před 2 roky
před 2 roky
před 2 roky
před 2 roky
před 2 roky
před 2 roky
před 2 roky
před 2 roky
před 2 roky
před 2 roky
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package main
  2. import (
  3. "gim/config"
  4. "gim/internal/business/api"
  5. "gim/pkg/db"
  6. "gim/pkg/interceptor"
  7. "gim/pkg/logger"
  8. "gim/pkg/pb"
  9. "gim/pkg/urlwhitelist"
  10. "net"
  11. "net/http"
  12. _ "net/http/pprof"
  13. "os"
  14. "os/signal"
  15. "syscall"
  16. "go.uber.org/zap"
  17. "google.golang.org/grpc"
  18. )
  19. func main() {
  20. go func() {
  21. http.ListenAndServe(":10001", nil)
  22. }()
  23. //config.Init()
  24. db.Init()
  25. server := grpc.NewServer(grpc.UnaryInterceptor(interceptor.NewInterceptor("business_interceptor", urlwhitelist.Business)))
  26. // 监听服务关闭信号,服务平滑重启
  27. go func() {
  28. c := make(chan os.Signal, 1)
  29. signal.Notify(c, syscall.SIGTERM)
  30. s := <-c
  31. logger.Logger.Info("server stop", zap.Any("signal", s))
  32. server.GracefulStop()
  33. }()
  34. //runtime.SetBlockProfileRate(1)
  35. pb.RegisterBusinessIntServer(server, &api.BusinessIntServer{})
  36. pb.RegisterBusinessExtServer(server, &api.BusinessExtServer{})
  37. listen, err := net.Listen("tcp", config.RPCListenAddr)
  38. if err != nil {
  39. panic(err)
  40. }
  41. logger.Logger.Info("rpc服务已经开启")
  42. err = server.Serve(listen)
  43. if err != nil {
  44. logger.Logger.Error("serve error", zap.Error(err))
  45. }
  46. }