12

我一直在考虑而不是使用:

  • 雄猫
  • 阿帕奇
  • 轻量级网络服务器
  • PHP
  • 红宝石
  • JSP

为什么不将我的项目切换到 Go 语言。因为我有:

  • 内置网络服务器
  • 我什至不需要依赖 PHP、Ruby、JSP
  • Go 解决跨平台如:在 FreeBSD、Linux、Solaris(Windows、Mac、Android、Tizen)上运行
  • 既不是 Apache 也不是 Tomcat 也不是其他网络服务器维护
  • 浏览器的速度将比其他 Web 服务器脚本语言快得多。

但我担心的一件事是 Go 网络服务器与其他网络服务器相比的稳定性。

以前有没有人这样做过,还是我一个人为生产版本构建这样的项目?

4

3 回答 3

19

不存在稳定性问题。

我有几个 100% 的网络服务器运行了几个月,每月服务大约一百万个查询而没有任何问题(主要是 json,通过 GET、POST 和 websockets)。

它们在 64 位 ubuntu 服务器上,但我想你会很难产生这么多关于 32 位的错误,尤其是使用 Web 服务器。

如果没有特定原因,请不要使用前端:使用 Go 很容易制作完整的 Web 应用程序。

你将不再孤单。在我看来,Go 特别适合构建长时间运行的服务器。Goroutines 和 channels 使得处理用户请求和长期任务变得非常容易(或者,例如,在你回答 http 查询后对用户查询进行后处理,这在 php 中并不容易,在 java 中 LOC 太多如果你想正确地做到这一点)。

于 2012-04-13T09:33:33.037 回答
1

为什么不使用 Build in Webserver 并设置像 Varnish 这样的反向代理,或者让 Nginx 充当代理?

http://wiki.nginx.org/ReverseProxyCachingExample

于 2012-04-13T07:59:42.037 回答
0

使用 Nginx 作为前端,并确保您使用的是 64 位版本的 Go。32 位版本存在严重的稳定性问题,这对于任何长时间运行的进程来说都是一个阻碍。

于 2012-04-13T07:54:20.367 回答