package main import ( jyDocsRpcUtil "app.yhyue.com/moapp/jy_docs/services/util" "context" "flag" "fmt" "log" "app.yhyue.com/moapp/jy_docs/rpc/userlib/internal/config" "app.yhyue.com/moapp/jy_docs/rpc/userlib/internal/server" "app.yhyue.com/moapp/jy_docs/rpc/userlib/internal/svc" "app.yhyue.com/moapp/jy_docs/rpc/userlib/userlib" "github.com/tal-tech/go-zero/core/conf" "github.com/tal-tech/go-zero/zrpc" "google.golang.org/grpc" ) var configFile = flag.String("f", "etc/userlib.yaml", "the config file") func main() { flag.Parse() conf.MustLoad(*configFile, &config.Configs) if config.Configs.JyDocsMysqlDB.DataSourceName != "" { jyDocsRpcUtil.InitDB(config.Configs.JyDocsMysqlDB.DataSourceName, config.Configs.JyDocsMysqlDB.DriverName, config.Configs.JyDocsMysqlDB.MaxOpenConn, config.Configs.JyDocsMysqlDB.MaxIdleConn) ctx := svc.NewServiceContext(config.Configs) srv := server.NewUserLibServer(ctx) s := zrpc.MustNewServer(config.Configs.RpcServerConf, func(grpcServer *grpc.Server) { userlib.RegisterUserLibServer(grpcServer, srv) }) s.AddUnaryInterceptors(rateLimitInterceptor) defer s.Stop() fmt.Printf("Starting rpc server at %s...\n", config.Configs.ListenOn) s.Start() } else { log.Fatal("【jy_docs】 read config error!") } } func rateLimitInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (resp interface{}, err error) { fmt.Println("拦截器") log.Println("方法名:",info.FullMethod," 参数:",req) return handler(ctx, req) }