Golang http reverse proxy in production

735 views
Skip to first unread message

James Pettyjohn

unread,
Mar 21, 2017, 6:55:55 PM3/21/17
to golang-nuts
I'm looking at using the stock HTTP reverse proxy, briefly looking at the implementation it seems to be ready to withstand a production workload.

Any cautions or caveats in going this route?

- J

l...@pinkfroot.com

unread,
Mar 22, 2017, 3:27:50 AM3/22/17
to golang-nuts
Strangely we just tried deploying a really simple one but with large-ish POST payloads.  For some reason the number of requests/s would never match what would hit the nginx servers directly without the Go proxy.  

wrk & ab profiles were able to cope but as soon as any real world traffic hit the server we saw issues.

This was our latest attempt...

iron...@gmail.com

unread,
Mar 22, 2017, 8:33:31 AM3/22/17
to golang-nuts
I've used a reverse proxy, written in Go in production. It did perform as good and even slightly better than nginx for our use case. It was regularly keeping 10GBps LAN cards full to the brim without much sweat. Our use case was serving and caching constantly changing library of huge media files and we had many concurrent connections per server.

For the record, the reverse proxy we used is open source and can be found here: https://github.com/ironsmile/nedomi. I no longer work at that company but I hear that nginx has caught up with most important feature - caching only frequently accessed parts of files. So nedomi probably would not get much more development. But it does prove that Go's network stack is up for the task. And that was more than a year ago. By now everything should be even better.
Reply all
Reply to author
Forward
0 new messages