加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

为什么不是golang的WSGI实现

发布时间:2020-12-16 19:29:04 所属栏目:大数据 来源:网络整理
导读:我们在 Python中有并发问题.这些WSGI服务器不是很好.我看看周围,没有像Golang写的WSGI服务器,它的goroutine. 有什么原因? WSGI协议特定于Python.有了Go,你有三个选择(实际上是四个,但是纯粹的 CGI 应该被认为不适用于中等到高负载设置): Go的标准库Built-i
我们在 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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读