So you want to expose Go on the Internet
i use nginx in front of go for production, this article is interesting as certainly it would reduce some level of administrative obligation if i could remove nginx, case in point, i actually just distribute go binaries to my production servers so i don't even need the go compiler, this would simplify deployment somewhat.  but then again, i'm not really changing my nginx configuration that often.<p>some questions that come to mind, i also leverage nginx for static file caching, i've seen some sample code for fileserver in net/http, but what kind of algorithm does fileserver use for caching, lru?  can you configure the size of the cache?<p>and in terms of scale, i haven't reached this point yet in my project, but from the _olden_ sinatra days, i'd spin up multiple processes and proxy through nginx.  in terms of a single (machine) server, could a go process essentially be limited to 1 per server?  i'm assuming the go binary could leverage multiple cores automatically so i wouldn't need to do like ruby or python?<p>what are your experiences with go backend services?  i run a restful api server that connects to a database and redis, so far, performance seems good enough where i only need 1 go process per machine.