userlib.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package main
  2. import (
  3. jyDocsRpcUtil "app.yhyue.com/moapp/jy_docs/services/util"
  4. "context"
  5. "flag"
  6. "fmt"
  7. "log"
  8. "app.yhyue.com/moapp/jy_docs/rpc/userlib/internal/config"
  9. "app.yhyue.com/moapp/jy_docs/rpc/userlib/internal/server"
  10. "app.yhyue.com/moapp/jy_docs/rpc/userlib/internal/svc"
  11. "app.yhyue.com/moapp/jy_docs/rpc/userlib/userlib"
  12. "github.com/tal-tech/go-zero/core/conf"
  13. "github.com/tal-tech/go-zero/zrpc"
  14. "google.golang.org/grpc"
  15. )
  16. var configFile = flag.String("f", "etc/userlib.yaml", "the config file")
  17. func main() {
  18. flag.Parse()
  19. conf.MustLoad(*configFile, &config.Configs)
  20. if config.Configs.JyDocsMysqlDB.DataSourceName != "" {
  21. jyDocsRpcUtil.InitDB(config.Configs.JyDocsMysqlDB.DataSourceName, config.Configs.JyDocsMysqlDB.DriverName, config.Configs.JyDocsMysqlDB.MaxOpenConn, config.Configs.JyDocsMysqlDB.MaxIdleConn)
  22. ctx := svc.NewServiceContext(config.Configs)
  23. srv := server.NewUserLibServer(ctx)
  24. s := zrpc.MustNewServer(config.Configs.RpcServerConf, func(grpcServer *grpc.Server) {
  25. userlib.RegisterUserLibServer(grpcServer, srv)
  26. })
  27. s.AddUnaryInterceptors(rateLimitInterceptor)
  28. defer s.Stop()
  29. fmt.Printf("Starting rpc server at %s...\n", config.Configs.ListenOn)
  30. s.Start()
  31. } else {
  32. log.Fatal("【jy_docs】 read config error!")
  33. }
  34. }
  35. func rateLimitInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (resp interface{}, err error) {
  36. fmt.Println("拦截器")
  37. log.Println("方法名:",info.FullMethod," 参数:",req)
  38. return handler(ctx, req)
  39. }