|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package main
-
- import (
- "flag"
- "github.com/zeromicro/go-zero/core/conf"
- "github.com/zeromicro/go-zero/core/logx"
- "github.com/zeromicro/go-zero/core/service"
- "github.com/zeromicro/go-zero/zrpc"
- "gitlink.org.cn/jcce-pcm/pcm-coordinator/rpc/internal/config"
- "gitlink.org.cn/jcce-pcm/pcm-coordinator/rpc/internal/logic"
- "gitlink.org.cn/jcce-pcm/pcm-coordinator/rpc/internal/server"
- "gitlink.org.cn/jcce-pcm/pcm-coordinator/rpc/internal/svc"
- "gitlink.org.cn/jcce-pcm/pcm-coordinator/rpc/pcmCore"
- "gitlink.org.cn/jcce-pcm/utils/interceptor/rpcserver"
- commonConfig "gitlink.org.cn/jcce-pcm/utils/nacos"
- "google.golang.org/grpc"
- "google.golang.org/grpc/reflection"
- )
-
- var configFile = flag.String("f", "rpc/etc/pcmcore.yaml", "the config file")
-
- func main() {
-
- flag.Parse()
-
- var bootstrapConfig commonConfig.BootstrapConfig
- conf.MustLoad(*configFile, &bootstrapConfig)
-
- //解析业务配置
- var c config.Config
- nacosConfig := bootstrapConfig.NacosConfig
-
- serviceConfigContent := nacosConfig.InitConfig(func(data string) {
- err := conf.LoadFromYamlBytes([]byte(data), &c)
- if err != nil {
- panic(err)
- }
- })
- err := conf.LoadFromYamlBytes([]byte(serviceConfigContent), &c)
- if err != nil {
- panic(err)
- }
- // start log component
- logx.MustSetup(c.LogConf)
- // 注册到nacos
- nacosConfig.Discovery(&c.RpcServerConf)
-
- ctx := svc.NewServiceContext(c)
-
- s := zrpc.MustNewServer(c.RpcServerConf, func(grpcServer *grpc.Server) {
- pcmCore.RegisterPcmCoreServer(grpcServer, server.NewPcmCoreServer(ctx))
-
- if c.Mode == service.DevMode || c.Mode == service.TestMode {
- reflection.Register(grpcServer)
- }
- })
-
- //rpc log
- s.AddUnaryInterceptors(rpcserver.LoggerInterceptor)
-
- defer s.Stop()
- // 初始化定时任务
- logic.InitCron(ctx)
- logx.Infof("Starting rpc server at %s...\n", c.ListenOn)
- s.Start()
- }
|