为什么不是golang WSGI实现

 回忆回忆194567 发布于 2023-02-08 11:14

我们在Python中有并发问题.这些WSGI服务器无法正常工作.我环顾四周,没有像Golang写的WSGI服务器及其goroutines.

有什么原因?

1 个回答
  • WSGI协议特定于Python.使用Go,您有三个选项(实际上,有四个选项,但普通CGI应该不考虑中等到高负载设置):

    HTTPGo标准图书馆的内置服务设施.

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

    要在特权端口号(低于1024,并且80在此范围内)中以降级权限(必须执行此操作)运行应用程序,您将需要使用专门的包装器或POSIX功能.

    要在不丢失连接的情况下提供优雅的重新部署,您将需要另一个包装器(如goagain).

    与上面相同,但在HTTPWeb服务器形式的反向代理之后.

    主要是消除了独立变体的问题,但仍然有HTTP来回传递完整流量的开销.

    FastCGI通过合适的网络服务器. NginxApache(和许多其他人)对此没问题. Go标准库中提供了FCGI客户端实现.

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

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

    2023-02-08 11:16 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有