gRPC stream destination change #2398
-
It's possible to set up load balancing to set up a gRPC stream. This means that for the lifetime of a stream, it keeps being connected to a single back-end. Would it be possible using Yarp to set up a gRPC stream only one time, but have the proxy send the stream messages to different back-ends depending on load? The advantage for the client would be to only set up a stream once for the lifetime of a client application, while the reverse proxy can dynamically send the stream to another back-end to spread the load. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
No, there's nothing available for this. Doing so requires not just fanning out requests, but also understanding the contents of the stream to properly split on message boundaries. This would need to be a dedicated endpoint that received the gRPC messages, split them up, fan'd them out to different backends, and then forwarded back the responses (with concurrency protections). cc: @JamesNK |
Beta Was this translation helpful? Give feedback.
No, there's nothing available for this. Doing so requires not just fanning out requests, but also understanding the contents of the stream to properly split on message boundaries.
This would need to be a dedicated endpoint that received the gRPC messages, split them up, fan'd them out to different backends, and then forwarded back the responses (with concurrency protections).
cc: @JamesNK