我想在DigitalOcean或类似的云提供商上部署我的webapp(基本上是CRUD)。我发现我可以设置GOARCH=386
或GOARCH=amd64
。两者都在我的电脑上正确构建。
如何决定在服务器上部署哪一个?有最新的Ubuntu,Debian,CentOS等热门选项。
答案 0 :(得分:2)
设置与您的Droplet架构相匹配的那个。您可以在您的液滴列表中查看此信息。请注意,定位386
平台,您可以在386
和amd64
平台上运行它,在编译为amd64
时,您只能在amd64
上运行它。< / p>
如果你要问哪个选择,那么它取决于你。知道某些操作在amd64
上更快(特别是那些使用/涉及64位值的操作,如int64
),并且Go工具的某些功能仅在您定位{{1}时才可用}架构,例如race detector,Supported Systems:
竞赛检测器在
amd64
,darwin/amd64
,freebsd/amd64
和linux/amd64
上运行。
windows/amd64
的可执行二进制大小和内存使用量稍微大一些,但在Go的情况下它并不是真正的问题,因为一个简单的,运行的Go Web服务器使用类似8 MB的内存。除非您使用过大的数组/切片,例如amd64
,因为[big_number]int
的大小将是int
上的4个字节和386
上的8个字节。