我正在使用该bottlepy
框架开发一个应用程序。我正在使用标准库WSGIRefServer()
来运行开发服务器。它是一个单线程服务器。
现在投入生产时,我会想转移到多线程生产服务器上,有很多选择。假设我选择 CherryPy。
现在,在我的代码中,我正在初始化一个wsgi
应用程序。除此之外,我还在初始化其他东西......
- Memcached 连接
- 鲭鱼模板
- MongoDB 连接
由于标准库wsgiref
是一个单线程服务器,而且我只创建一个 wsgi 应用程序(wsgi 可调用),所以一切正常。
我想知道的是,当我移动到多线程服务器时,我的 wsgi 应用程序、初始化代码、与不同服务器的连接等将如何表现。
多线程服务器是否会为每个线程创建一个单独的 wsgi 应用程序实例。是否会为每个新请求生成一个新线程(这意味着每个请求都有一个新的 wsgi 应用程序)?
我与 memcached、mongoDB 等的连接是否会跨线程共享。线程之间还会共享什么
请解释线程服务器的请求-响应周期