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

标签 web-services rest nginx go

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

最佳答案

我一直在将 Nginx FastCGI 与 Go 网络服务一起使用 - 它们可以很好地协同工作。它的设置并不比 HTTP 反向代理难 - 除了必须学习如何操作。原则上性能应该好得多,但我没有任何测量来证明这种预感。我的网络服务可以在 HTTP 模式和 FastCGI 模式下工作(一次一个或另一个),所以我想我应该做一些基准测试(注意自己!)。

如果你想要正确的系统启动(你应该),你需要学习初始化脚本是如何工作的。有时我会作弊,从别人为类似应用程序编写的现有工作脚本开始,然后自定义它以与我的一起工作。

关于web-services - 在生产环境中部署 Go/Golang REST Web API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27078772/

相关文章:

iphone - 从 iPhone 向服务器发送实时位置数据的最佳实践

java - Apache CXF 客户端代理设置

java - 如何编写服务器端 java 代码以使用 JAX-RS(Jersey) 以流形式返回任何类型的文件?

node.js - 哪种扩展 Nodejs 应用程序的方式更好?

web-services - ColdFusion 无法识别 WSDL GUID 数据类型?

c# - 没有 add in linq 语法的定义?

c# - 从 Silverlight 调用 REST 服务

rest - 在 swagger API 中指定一个字符串数组作为 body 参数

Django、nginx、gunicorn、主管 : UnicodeEncodeError - when uploading non-latin named file

node.js - Dokku Nginx 提供静态文件