在使用 connect() 函数建立 TCP 连接时,默认情况下,如果服务器未响应,connect() 会一直阻塞,直到连接建立成功或发生错误。这可能导致客户端长时间等待,不利于程序的健壮性。为了解决这个问题,您可以通过以下方法对 connect() 进行超时处理。
etcd 升级到 3.x 版本后,其对外 API 的协议从普通的 HTTP1 切换到了 gRPC。为了兼顾那些不能使用 gRPC 的特殊群体,etcd 通过 gRPC-gateway 的方式代理 HTTP1 请求,以 gRPC 形式去访问新的 gRPC API。(由于 HTTP1 念起来太过拗口,以下将之简化成 HTTP,正好和 gRPC 能够对应。请不要纠结 gRPC 也是 HTTP 请求的这种问题。)