为什么不是golang的WSGI实现

前端之家收集整理的这篇文章主要介绍了为什么不是golang的WSGI实现前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们在 Python中有并发问题.这些WSGI服务器不是很好.我看看周围,没有像Golang写的WSGI服务器,它的goroutine.

有什么原因?

WSGI协议特定于Python.有了Go,你有三个选择(实际上是四个,但是纯粹的 CGI应该被认为不适用于中等到高负载设置):

Go的标准库Built-in HTTP serving facilities.

在这种情况下,您的应用程序是独立服务器.这可能是最简单的设置,但可能会出现以下问题:

>要使用降级的权限(您必须执行此操作)在特权端口号(低于1024,80在此范围内)运行您的应用程序,则需要使用专门的包装器或POSIX功能.
>为了提供优雅的重新部署而不会丢失连接,您将需要另一个包装(如goagain).

>与上述相同,但以Web服务器形式的反向HTTP代理后面.

大部分消除了独立变体的问题,但仍然具有传递完整HTTP流量的开销.
FastCGI通过一个合适的网络服务器. Nginx和Apache(和许多其他)都可以这样. FCGI客户端实现为available in the Go standard library.

除了不存在独立设置的问题外,还实现了更有效的数据交换协议.另一个好处是,您的Go服务器可能会使用与反向HTTP代理变体中涉及的TCP套接字相比传输成本更低的Unix管道与前端Web服务器进行通信.

所以,如果你的设置目前使用WSGI,我会说FCGI.

猜你在找的Go相关文章