我一直在考虑而不是使用:
为什么不将我的项目切换为Go语言。因为我有:
但我担心的一件事是,与其他网络服务器相比,Go网络服务器的稳定性。
之前有没有人这样做过,还是我一个人为生产版本构建这样的项目?
答案 0 :(得分:20)
没有稳定性问题。
我有几个网络服务器100%运行了几个月,每月提供大约一百万个查询没有任何问题(主要是json,通过GET,POST和websockets)。
他们使用的是64位ubuntu服务器,但我猜你会遇到很多关于32位错误的问题,尤其是对于一个网络服务器。
如果没有特殊原因,请不要使用前端:只需使用Go即可轻松制作完整的Web应用程序。
你将远离孤独。在我看来,Go特别适合构建长时间运行的服务器。 Goroutines和渠道使得处理用户请求和长期任务变得非常容易(或者,例如,在您回答http查询后对用户查询进行后处理,这在php中并不容易,并且在java中的LOC太多了如果你想做得好的话。)
答案 1 :(得分:2)
为什么不使用Build in Webserver并设置像Varnish这样的反向代理,或者让Nginx充当代理?
答案 2 :(得分:1)
使用Nginx作为前端,并确保使用的是64位版本的Go。 32位版本存在严重的稳定性问题,这对于任何长期运行的过程来说都是显而易见的。