grpc 通过反向代理进行流式传输

Atu*_*tia 4 grpc

grpc 流到底如何通过反向代理工作?我的理解是,客户端和反向代理之间将建立持久连接,而反向代理和我的服务器之间的连接不是持久的 - 那么我的实际服务器如何坐在反向代理后面继续传输消息通过持久连接到客户端?

另外,假设我想保留持久连接来处理推送通知(即我的服务器跟踪持久连接,我的服务器端发生了一些事情,我想通知特定客户端,我获取流/持久连接然后该特定客户端通过它发送消息)。

Eri*_*son 5

gRPC 流使用 HTTP/2 流。HTTP/2 流绑定到它们启动的 TCP 连接。反向代理将创建一个 HTTP/2 流到后端来转发 RPC。因此“流”将绑定到两个 TCP 连接:客户端 \xe2\x86\x92 代理、代理 \xe2\x86\x92 后端。如果任一 TCP 连接关闭,则 RPC 将被取消。使用 HTTP/2,即使反向代理也与后端有半持久连接,但它们确实可能比客户端更频繁地循环连接。

\n