在之前的两篇文章中,我们大致了解了GRPC服务器的工作原理。从本文中,让我们看一下GRPC服务器的一些设计详细信息。
无论设计如何设计,它最终都会通过HTTP2帧的形式将RPC的执行结果发送给客户端。本文将研究服务器如何发送帧。
GRPC服务器每次都会从客户端接收新连接后创建一台。这是一个实际上负责发送和接收HTTP2帧的接口。每个客户端都将与客户端的所有帧之一相对应,而不管属于流的这些框架。
实际上,它是Golang本地的包装。
GRPC服务器实现了一个简单的写作缓存。
传递给包裹。
GRPC服务器为每个客户端创建一个,该客户端负责发送数据。
在运行时协调内部和有序发送数据,该过程大致是这样的:
GRPC服务器共享一个
让我们看一下代码的完成方式:
该方法中有几点值得注意:
在中间,该函数将在函数中连续执行:
流中的数据存储在单个链接列表中。让我们看一下GRPC如何实现此单个链接列表。
在本文中,我们了解GRPC服务器如何将HTTP2框架发送给客户端。您可以看到GRPC服务器将在流中传播所有数据,这等同于使用循环策略来确保各种流中的数据能够将其传输到客户端。