
gRPC Unary RPC 就是我们所熟悉的客户端发起一次 Request、服务端响应一次 Response,即客户端发送一个请求 message 给服务端,然后再从服务端接收到一个响应 message。Unary RPC 调用将成为你的 API 中最通用的 RPC 调用,它非常适合要传输的结构化数据很小的场景,我们构建 API 时应当首先实现为 Unary RPC,当它的性能出现瓶颈时,才考虑将它改写成 Streaming RPC
gRPC Unary RPC 就是我们所熟悉的客户端发起一次 Request、服务端响应一次 Response,即客户端发送一个请求 message 给服务端,然后再从服务端接收到一个响应 message。Unary RPC 调用将成为你的 API 中最通用的 RPC 调用,它非常适合要传输的结构化数据很小的场景,我们构建 API 时应当首先实现为 Unary RPC,当它的性能出现瓶颈时,才考虑将它改写成 Streaming RPC
gRPC 是谷歌开源的高性能、轻量级 RPC 通信框架,基于 Protocol Buffers 序列化协议进行开发,支持多种语言(C++、Golang、Python、Java 等),本篇只介绍 Golang 的 gRPC 使用。同时,由于 gRPC 支持 HTTP/2 协议,使用二进制帧进行数据传输,还可以为通信双方建立持续的双向数据流,使其在 Android、iOS 等客户端后端服务的开发领域具有良好的前景。gRPC 提供了一种简单的方法来定义服务,同时客户端可以充分利用 HTTP/2 stream 的特性,从而有助于节省带宽、降低 TCP 的连接次数、节省CPU的使用等
如果你不想看如何使用 Docker 和 reflex 实现 Golang 源代码热更新并自动重新编译、运行的原理,可以直接跳到本文的章节 2 如何快速使用
Flask + Vue.js 全栈开发系列的 [最新代码] 会定时更新到本文的 [附件] 中,Github 上的代码只包含前面的部分
第一部分我们手动启动 MySQL、Redis、Elasticsearch、Python、Nginx 等容器,第二部分使用 Docker Compose 来编排我们的服务,非常推荐大家试一下 Docker 容器来运行我们的微型博客应用,到此为止,本系列就全部完结了,感谢大家的关注,接下来将开始 Golang 微服务实战系列,期待您的加入