Go 微服务实战.png

Go微服务实战|第7章:gRPC Deadlines ...

客户端在调用服务端的 RPC 方法时,应该指定超时时间,否则将可能导致客户端资源被耗尽,因为 gRPC 默认使用的超时时间非常长,如果客户端的请求因为某种原因被阻塞了,一旦累计了大量被阻塞的请求后,客户端的资源(比如内存)将可能被耗尽。我们可以在调用 RPC 方法时,传入 context.WithTimeout() 来指定超时时间


作者头像
Madman
0 8937
Go 微服务实战.png

Go微服务实战|第5章:gRPC Bidirectio...

gRPC Bidirectional Streaming RPC 是指客户端和服务端都可以同时发送或接收 Streaming 数据流,而且 Requests 和 Responses 的数量不要求一致,即它们是异步的,也许客户端发送了 3 个请求 messages,而服务端响应了 5 个响应 messages。它非常适合当客户端和服务端需要异步发送很多数据时,或者聊天场景,或者客户端和服务端的长时间连接情形等


作者头像
Madman
0 9985
Go 微服务实战.png

Go微服务实战|第3章:gRPC Server-sid...

由于 gRPC 支持 HTTP/2,所以可以使用 HTTP/2 的 Stream 特性,Server-side Streaming RPC 是指客户端发送一个请求 message 后,将会从服务端接收多个响应 messages,服务端返回 Streaming 数据流。它非常适合要传输的结构化数据比较大的场景,或者服务端需要主动 Push...


作者头像
Madman
0 8613
Go 微服务实战.png

Go微服务实战|第2章:gRPC Unary RPC

gRPC Unary RPC 就是我们所熟悉的客户端发起一次 Request、服务端响应一次 Response,即客户端发送一个请求 message 给服务端,然后再从服务端接收到一个响应 message。Unary RPC 调用将成为你的 API 中最通用的 RPC 调用,它非常适合要传输的结构化数据很小的场景,我们构建 API 时应当首先实现为 Unary...


作者头像
Madman
0 8199