使用Go语言FX模块搭建gRPC服务器及gRPC UI的疑问求助
Go语言FX模块搭建gRPC服务器及gRPC UI的疑问求助
大家好,我现在在尝试用Go的FX框架搭建gRPC服务器,但遇到了些搞不定的问题,卡好一阵了找不到方向。我先贴出自己写的服务器模块的部分代码(后面内容截断了):
func NewGRPCServer( lc fx.Lifecycle, log *zap.Logger, tracer trace.Tracer, srvsInterceptors []grpc.UnaryServerInterceptor, serverOpt []grpc.ServerOption, ) *grpc.Server { defaultRecoveryHandler := func(ctx context.Context, r interface{}) (err error) { logger.FromContext(ctx).Error("recovered from panic", zap.Any("pa
目前我主要的困惑点包括:
- 怎么在FX框架里正确把日志、链路追踪、拦截器这些依赖注入到gRPC服务器中,同时做好生命周期管理(比如把服务器的启动、停止绑定到FX的生命周期钩子)?
- 如果还要集成gRPC UI工具,该怎么和FX模块整合,实现和gRPC服务器的联动?
- 代码里写的默认panic恢复逻辑,在FX的上下文环境下有没有需要特别注意的细节?
有没有大佬能给我指点下方向,或者分享下类似的实践经验呀?
备注:内容来源于stack exchange,提问作者Ming
相关产品推荐
相关产品推荐

