2 回答
TA贡献1757条经验 获得超8个赞
简短的回答:是的。
更长的答案:您当然可以将内置的 Web 服务器用于生产流量。您今天很有可能已经使用过它,因为 Google 使用它提供了一些流量。我认识很多公司,包括我工作的那家将它用于生产流量的公司。顺便说一句,我不知道在 Go 中广泛使用的 Web 服务器不使用标准 Web 服务器。
但请记住,您需要调整客户端超时等内容以使其真正健壮,并可能限制传入连接等。
TA贡献1872条经验 获得超4个赞
要添加到@Not_a_Golfer 的回答中:Go 的网络服务器非常可靠,并且到目前为止经过了很好的测试。
但是,您可能会将其置于 nginx、Apache 或 HAProxy 等反向代理后面的原因包括:
SSL 终止(nginx 有很多额外的 TLS 功能,你必须自己部分实现,比如简单的 OCSP 装订支持)
代理缓存(从缓存提供静态响应,如果您的 Go 应用程序崩溃,则为 500)
高性能日志
SPDY 支持(尽管 Go 和 nginx 可能会同时获得 HTTP/2)
内置 gzip 支持和选项
静态文件的文件描述符缓存
如果可以的话,我通常更喜欢将 nginx 放在前面,因为尽管您可以在 Go 中实现所有这些功能,但仍然需要重新发明一些轮子。您可以使用gorilla/handlers和 Go 自己的 crypto/tls lib等中间件获得大部分方法,如果您不是运维人员和/或想要保持精简,那么直接从 Go 运行所有内容仍然很好用于生产。
- 2 回答
- 0 关注
- 313 浏览
添加回答
举报
