我是Golang的新开发人员。 PHP附带内置服务器,不建议用于生产。我在Go中阅读了关于Web开发的beautiful book by astaxie以及golang.org example on writing a web app。他们都使用http.ListenAndServe()
来创建Web服务器。我只是想知道这个服务器是否可以在生产中使用,还是只是像PHP内置服务器那样的虚拟服务器?通过生产我的意思是,它能处理像Apache或ngnix服务器这样的巨大流量吗?
答案 0 :(得分:7)
简答:是的。
更长的答案:您当然可以使用内置的Web服务器进行生产流量。你今天很有可能使用它,因为谷歌使用它来提供一些流量。我知道很多公司,包括我工作的公司,用于生产流量。 BTW我不知道Go中广泛使用的Web服务器不使用标准Web服务器。
请记住,您需要调整客户端超时等内容以使其非常强大,并可能限制传入连接等。
答案 1 :(得分:4)
添加到@Not_a_Golfer的答案:Go的网络服务器非常稳固,并且到目前为止已经过很好的测试。
然而,有理由将其置于反向代理(如nginx,Apache或HAProxy)之后,包括:
如果我有选项,我通常更喜欢将nginx放在前面,因为虽然你可以在Go中实现所有这些功能,但仍有一些轮子重新发明。你可以使用像gorilla/handlers和Go自己的crypto / tls lib这样的中间件来获得大部分内容,如果你不是操作人员和/或想要保持真正的瘦身,那么直接从Go运行一切就是仍然可以用于生产。