Go 微服务实战.png
  • Madman
  • ·

Go微服务实战|第12章:gRPC-gateway g...

只需要实现 gRPC 服务端方法,结合 gRPC-gateway 就可以同时帮你生成 RESTful API,它们可以监听在不同的 TCP 端口上,也可以监听同一端口,最后如果你想公开你的 REST API,还可以自动生成 Swagger 接口文档

Go 微服务实战.png
  • Madman
  • ·

Go微服务实战|第10章:gRPC Authentication

上一篇我们通过 TLS 为通信双方建立了安全加密通道,并且数字证书也可以验证服务端的身份。但是,服务端也需要确认是哪个客户端正在调用 RPC,此客户端是否有权限调用此 RPC 呢?现在我们将会讲解服务端如何通过 token auth 或 basic auth 来认证客户端

Go 微服务实战.png
  • Madman
  • ·

Go微服务实战|第8章:gRPC Cancelling RPCs

本文演示了客户端和服务端建立了双向流之后,双方都可以不断地向对方发送或接收数据,如果客户端不想再连接了,它主动调用 cancel() 方法,将会取消 context 上下文,即关闭双向流,那么服务端会立即收到 codes.Canceled 错误状态码。同时,如果之后客户端再次想从双向流中发送或读取数据,都会收到 codes.Canceled 错误状态码

Go 微服务实战.png
  • Madman
  • ·

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

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