2016-12-05 59 views
1

我使用Python WSGI框架猎鹰做一个应用程序的后端,并使用烧杯来处理会话管理。在生产中,我们将在AWS中使用Gunicorn。使用烧杯猎鹰,巨蟒

有些事我一直无法理解:

Gunicorn将运行几个工人,这是否意味着环境变量持续已提出了要求不同的客户端?换句话说,对于一个客户端来说只是一个烧杯会话,还是可以让几个客户端在同一个Gunicorn工作者实例中发出请求?

这就是我所理解的会话从我的阅读工作:

一个人登录到我的应用程序,并USER_ID加入到烧杯与会话。来自同一客户端的未来请求会将此user_id存储在会话字典中。现在,来自该客户端的任何未来请求将能够访问存储在会话中的变量。每个客户都有自己的会话数据。

有我明白这正常吗?

当前的方法是一个id返回给客户端(上成功登录)时,需要更多的用户信息传递到后端。

回答

0

有我明白这正常吗?

是的,你这样做,对于大多数的一部分。

Gunicorn将运行几个工人,这是否意味着环境 变量持续已提出了要求不同的客户端? 换一种方式,是只有一个客户端的烧杯会话,或 将它提供给多个客户在同一 Gunicorn工人实例发出请求?

烧杯保存在服务器端的会话数据,由唯一的会话ID标识的专用数据存储,客户端将通过发送cookie回会话ID,然后服务器(gunicorn工人)可以检索会话数据。

我建议阅读如何会话工作更详细的解释,像这样的:http://machinesaredigging.com/2013/10/29/how-does-a-web-session-work/

+0

OK,这是一个相当不错的解释器。我已经做了一些更多的研究......你可以将session.id返回前面,然后在session.get_by_id(id) – JasTonAChair