Hello,
I've been struggling to resolve this particular issue. I have a Golang gRPC
server which streams data to a Flask/Gunicorn webserver and then passes it
on to the client. I have Nginx running as a reverse proxy in front of my
webserver
Client(Browser) <-> Nginx Reverse Proxy <-> Webserver(Flask/Gunicorn) <->
go-grpc server
Essentially, the user on their browser will click a button which is just an
AJAX call (/stream) to the backend webserver. Then the webserver, which is
the gRPC client, will make the actual gRPC call and yield all responses
back to the client. Some of them get truncated. For example if we expect:
{
"source": "serviceA",
"timestamp": 123490435,
"data": {
"1": 3446.706,
"2": -45.343464,
...
"200": 5.3545
}
}
We may only get:
{
"source": "serviceA",
"ti
And then:
mestamp": 123490435,
"data": {
"1": 3446.706,
"2": -45.343464,
...
"200": 5.3545
}
}
In the next frame. Where the truncation happens is random and when it
happens is also random. If my setup doesn't make any sense, please let me
know on better ways to integrate a gRPC client.
I've isolated the problem to nginx. If I run this without nginx, I get no
truncations. I've tried `proxy_buffering off;` and a myriad other nginx
paramters but nothing seems to work.
Thank you,
Paul C.
--
You received this message because you are subscribed to the Google Groups
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/grpc-io/bbdee693-a367-4ec2-82af-4b4ff76ccaacn%40googlegroups.com.