TCS*_*TCS 3 protocol-buffers grpc go-micro
我已经构建了一个“go-micro”服务。据我了解,go-micro 使用 protobuf 来定义和创建消息结构并使用 gRPC 作为网络协议(我当然可能在这里错了)。
如果以上正确,那么插件“go-grpc”的用途是什么?
谢谢!
让我试一试。
RPC只是一个方法调用模型,只要我们能从本地调用远程服务,就可以说是某种类型的RPC。
RPC 有不同的风格,因为客户端和服务可以使用不同的协议进行通信,如 UDP、TCP、HTTP、HTTP/2。
Protobuf 和 JSON、XML 一样只是数据交换格式,只不过 json 和 xml 是基于文本的,而 protobuf 是基于字节的,可以节省大量的带宽和序列化时间。
所以放在一起,我们可以把这两者结合起来,形成各种RPC。例如,通过 UDP 发送 JSON 数据是 RPC 的一种形式,通过 TCP 发送 XML 数据是另一种形式,通过 UDP 发送 Protobuf 数据是另一种形式。
GRPC 是 RPC 的一种形式,它通过 HTTP/2 协议发送 Protobuf 数据。
go-micro 是一个微服务框架,服务通过 RPC 进行通信,因此 go-micro 为开发人员提供了各种 RPC 可供选择,它们以 Plugins 的形式出现,如 UDP、HTTP、GRPC 等。
GRPC是一种通信模型,可以用C++、JAVA、Go等大多数语言实现。因此 Go-GRPC 是一个用 go 语言编写的 GRPC 插件。
希望我解释清楚,如果我错了,请纠正我,
| 归档时间: |
|
| 查看次数: |
1737 次 |
| 最近记录: |