gRPC的原理是什么

2023-04-08 13:25:00 grpc 原理

gRPC是一个开源的高性能RPC框架,基于HTTP/2协议标准,使用ProtoBuf作为序列化协议,支持多种语言(Golang、Java、C++、Python、Ruby、Node.js、PHP、C#、Objective-C、Android、iOS)。

gRPC的工作原理是客户端发起一个RPC调用,将方法名、参数序列化之后通过HTTP/2协议传输给服务端,服务端收到请求之后反序列化方法名和参数,然后调用相应的服务方法,将结果序列化之后通过HTTP/2协议返回给客户端,客户端收到结果之后反序列化。

gRPC提供了两种调用方式:同步调用和异步调用。在同步调用中,客户端发起RPC调用之后会一直等待服务端返回结果,直到收到结果或者超时。在异步调用中,客户端发起RPC调用之后会立即返回,不会等待服务端返回结果,当服务端返回结果时,客户端会收到一个回调通知。

gRPC提供了多种优化手段来提高性能,比如压缩、线程池、多核、内存池、零拷贝、ProtoBuf等。

相关文章