1 Star 0 Fork 0

PengHengBen/devcloud-mini

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
grpc.go 1.04 KB
一键复制 编辑 原始数据 按行查看 历史
PengHengBen 提交于 2024-02-18 17:10 +08:00 . 补充trace
package protocol
import (
"context"
"net"
"gitee.com/penghengben/devcloud-mini/cmdb/conf"
"gitee.com/penghengben/devcloud-mini/cmdb/logger"
"github.com/infraboard/mcube/ioc"
"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"
"google.golang.org/grpc"
)
// 如果http 服务器使用哪个路由, 当做参数传递进来
func NewGrpc() *Grpc {
return &Grpc{
server: grpc.NewServer(
grpc.ChainUnaryInterceptor(
// 添加Grpc Trace中间件
otelgrpc.UnaryServerInterceptor(),
),
),
}
}
type Grpc struct {
server *grpc.Server
}
func (g *Grpc) Start() error {
// 2.1 加载grpc业务实现类
ioc.LoadGrpcController(g.server)
logger.L().Debug().Msgf("loaded controllers: %s", ioc.ListControllerObjectNames())
// 2.3 启动grpc server
lis, err := net.Listen("tcp", conf.C().Grpc.Address())
if err != nil {
return err
}
logger.L().Debug().Msgf("grpc server listen: %s", conf.C().Grpc.Address())
return g.server.Serve(lis)
}
func (g *Grpc) Stop(ctx context.Context) {
g.server.GracefulStop()
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/penghengben/devcloud-mini.git
git@gitee.com:penghengben/devcloud-mini.git
penghengben
devcloud-mini
devcloud-mini
52595909206d

搜索帮助