2016-12-05 57 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