4

I ran into a problem when using large (JSON) body with HTTP requests. They worked fine locally, but when I deployed the server application to Google Cloud Compute instance the requests were not received completely. They were cut around 82 kBs. I noticed that all worked fine when I connected directly to the instance without using the HTTP Load Balancer in the middle. Also tried out the Network Load Balancer configured to use port 80 and it worked. So it seems the problem is caused by the HTTP Load Balancer.

Have anyone found a solution to this? I would like to use the HTTP Load Balancer, because it fits my requirements better (for example you can add instance groups as the backend target, on Network LB you need to specify each instance separately).

Matias Sundberg
  • 141
  • 1
  • 6
  • 1
    You can also use instances groups in a Network LB using [managed instance groups](https://cloud.google.com/sdk/gcloud/reference/preview/managed-instance-groups/create). Is there any other requirement that avoids you from using the Network LB? – Adrián Mar 25 '15 at 09:09
  • I ended up using the Network LB with the managed instance groups and that solution works well for me. – Matias Sundberg Apr 07 '15 at 06:03
  • I just tested this with 51MB of random data by creating a CGI script that echos the input. I found I always got back to posted data. Could you share what webserver and application framework you used? – David Jun 02 '15 at 00:20
  • I'm using Play Framework with Scala. It uses integrated JBoss Netty server. – Matias Sundberg Jun 02 '15 at 10:28
  • The scenario you're describing is happening for me as well. I need HTTP LB for its location-aware routing, so network LB is not an option. Did anyone find a solution for this? – Ory Band Jun 11 '15 at 06:47

1 Answers1

2

The problem might originate in the fact that GCE HTTP load balancer doesn't support HTTP 100 Continue requests, which can affect multipart POST requests. The solution lies either in not using multipart, or using GCE network load balancing (which might or might not offer what you need).

Ory Band
  • 14,716
  • 14
  • 59
  • 66