67 lines
1.8 KiB
Go
67 lines
1.8 KiB
Go
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()
|
|
}
|