龙卷风 :dragon_face:
Typhon是Go的库的包装,我们在Monzo使用它来在构建RPC服务器和客户端。
它提供了许多便利,并尽一切可能提高安全性。 以下是Typhon有趣功能的简短列表:
无需关闭客户端中的body.Close() 根据我们的经验,在处理完主体后忘记在客户端中使用body.Close()是导致Go程序中资源泄漏的常见原因。 Typhon确保-除非您对身体做一些真正奇怪的事情,否则它将自动关闭。
中间件“过滤器” 过滤器是Service周围的装饰器; 在Typhon中,服务器和客户端通过功能组合来共享通用功能。
主体编码和解码将请求主体编组和解组到结构是一种常见的操作,以至于我们的Request和Response对象直接支持它们。 如果操作失败,错误将自动传播,因为这几乎总是服务器想要的。
取消传播服务器完成对请求的处理后,请求的上下文将自动取消,并且这些取消将通过分布式调用堆栈传播。 这使下游服务器可以节省工作,从而产生不再需要的响应。
错误传播响应具有内置的Error属性,并且会自动处理将这些错误序列化/反序列化为HTTP错误的过程。 我
评论0
最新资源