19. 【gRPC系列学习】拦截器Interceptor

无论客户端还是服务端在远程调用前后执行一些通用逻辑,例如Gin框架,实现日志、监控、认证、Recover等通用逻辑,gRPC也提供这样的机制。
本系列gRPC学习大纲:
在这里插入图片描述

拦截器分为:一元拦截器、流拦截器,这两种拦截器在客户端、服务端都可以使用。拦截器的执行流程如图:其中InHandlerxoutHandlerx是同一个函数,被拆成上下两部分。
在这里插入图片描述

1. 一元拦截器

1)复制learn01 到 learn11
2)编写客户端程序,添加拦截器,记录调用时间TimeInterceptor,invoker表示调用下一级路径,下级执行完成后返回,再执行log.Printf("method:%s, exec:%d", method, time.Now().Sub(now).Milliseconds()),这样就实现执行远程调用前后的逻辑处理。


func TimeInterceptor(<

猜你喜欢

转载自blog.csdn.net/xjmtxwd24/article/details/128419284
今日推荐