在生产环境中部署 Go/Golang REST Web API

我正在为移动应用程序编写后端 web api。它应该支持HTTPS。我在 .NET 方面的大部分经验,但对于这一点,我想使用 Go/Golang。我已经准备好了一个示例服务,现在我需要确保它已准备好生产。在 .NET 中,我将只使用 IIS,但我不知道什么是 Go 的好方法。
我应该使用 nginx 作为反向代理,还是最好使用 FastCGI ?以及如何确保我的 go 应用程序已启动并将在系统重新启动时运行?我应该使用暴发户还是类似的东西?

HUH函数
浏览 361回答 2
2回答

回首忆惘然

我一直在使用带有 Go 网络服务的 Nginx FastCGI - 它们可以很好地协同工作。设置起来并不比 HTTP 反向代理更难——除了必须学习如何去做。原则上性能应该好得多,但我没有任何衡量标准来证明这种预感是正确的。我的 web 服务可以在 HTTP 模式和 FastCGI 模式下工作(一次一个或另一个),所以我想我应该做一些基准测试(自我注意!)。如果您想要正确的系统启动(并且您应该这样做),您需要了解 init 脚本是如何工作的。我有时会作弊并从其他人为类似应用程序编写的现有工作脚本开始,然后对其进行自定义以与我的应用程序一起使用。

米脂

我使用 nginx 作为我的 Go 项目的反向代理。我发现在 nginx 中设置有用的服务器设置(例如 TLS、压缩等)比作为纯 Go 服务器要容易得多。在服务器重启时保持活动状态是一个更复杂的问题。我建议学习如何为您的服务器的 init 守护程序编写脚本/任何东西,然后就这样做。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go