美文网首页Golang 最佳实践
HttpClient 的几个点

HttpClient 的几个点

作者: xzing | 来源:发表于2018-09-10 20:22 被阅读8次

    越来越多的应用里需要依赖大量的对外请求(内部服务或第三方平台)。但是很多的 client 只有基本的请求,这在复杂的场景里根本无法应对各种问题,所以我试图整理一下之前遇到的坑,也是封装一个 httpClient 所需要支持的地方。

    重试策略:

    • 立即重试

    • 延时重试

      • 动态延时,1s 2s 4s 8s ...

    频率限制

    • 全局 Pool

    • 针对同一服务下,排队

    配置级别:

    • 全局

    • 服务级

      • 调用方

      • 服务方

    • Request

    日志记什么:

    • 请求耗时

    • 请求信息

      • url = host + path

      • args = header + query + form

    • 请求结果

      • response header 一定得记

      • 如果结果是简单数据,比如 json,就全记下

      • 如果对方接口挂了,返回了 nginx 错误HTML,比如5xx,要记录

      • 如果是文本文件流,可以记录关键部分;如果是二进制,至少记下 md5 + size

    • TraceId(参考 https://www.jianshu.com/p/73346f667f3d)

    相关文章

      网友评论

        本文标题:HttpClient 的几个点

        本文链接:https://www.haomeiwen.com/subject/imdegftx.html