我想在 DigitalOcean 或类似的云提供商上部署我的 Web 应用程序(基本上是 CRUD)。我发现我可以设置 GOARCH=386
或 GOARCH=amd64
。两者都在我的计算机上正确构建。
如何决定需要在服务器上部署哪一个?有所有流行的选项,例如最新的 Ubuntu、Debian、CentOS。
最佳答案
设置与您的 Droplet 架构相匹配的选项。您可以在 Droplet 列表中查看此内容。请注意,针对 386
平台,您可以在 386
和 amd64
平台上运行它,同时编译为您的 amd64
只能在 amd64
上运行。
如果您问选择哪个,那么这取决于您。要知道,某些操作在 amd64
上速度更快(特别是那些使用/涉及 64 位值的操作,如 int64
),而且 Go 工具的某些功能仅在您使用时才可用。以 amd64
架构为目标,例如 race detector , Supported Systems :
The race detector runs on
darwin/amd64
,freebsd/amd64
,linux/amd64
, andwindows/amd64
.
对于 amd64
来说,可执行二进制文件的大小和内存使用量要大一些,但对于 Go 来说,这并不是真正的问题,因为一个简单的、正在运行的 Go Web 服务器使用大约 8 MB 的内存。当然,除非您使用像 [big_number]int
这样过大的数组/slice ,因为 int
的大小在 386
和 8 上将为 4 个字节amd64
上的字节。
关于go - 为我用 Go 编写的 Web 应用程序设置什么 GOARCH?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41445348/