2016-12-05 5 views
1

저는 애플 리케이션 백엔드를 만들고 비커를 사용하여 세션 관리를 처리하기 위해 파이썬 WSGI 프레임 워크 팔콘을 사용하고 있습니다. 프로덕션에서는 AWS에서 Gunicorn을 사용할 것입니다.비컨을 팔콘, 파이썬과 함께 사용

내가 이해하지 못하고 한 것이있다 :

Gunicorn 여러 노동자 실행됩니다, 그래서이 환경 변수는 요청을 한 다른 클라이언트 지속될 의미합니까? 다른 방법으로 말하자면, 하나의 클라이언트만을위한 비커 세션입니까, 아니면 동일한 Gunicorn 작업자 인스턴스에서 요청을하는 여러 클라이언트가 사용할 수 있습니까?

이 내가 내 독서에서 작업 세션을 이해하는 방법입니다

사람 로그 내 애플 리케이션에, 그리고 USER_ID는 비커와 세션에 추가됩니다. 같은 클라이언트의 향후 요청에는이 user_id가 세션 dict에 저장됩니다. 이제 클라이언트의 모든 요청은 세션에 저장된 변수에 액세스 할 수 있습니다. 각 클라이언트에는 자체 세션 데이터가 있습니다.

제대로 이해 했습니까?

현재의 방법은 더 많은 사용자 정보가 필요할 때 백엔드로 전달할 ID를 클라이언트에 반환하는 것입니다 (로그인 성공시).

답변

0

제대로 이해 했습니까?

예, 대부분 그렇습니다.

Gunicorn은 여러 명의 작업자를 실행하므로 환경을 요청한 다른 클라이언트에 대해 변수가 계속 유지됩니까? 다른 방법으로 말하자면 하나의 클라이언트에 대해서만 비커 세션을 수행하거나 같은 클라이언트에서 요청을하는 여러 클라이언트가 사용할 수 있습니까? Gunicorn 작업자 인스턴스?

비커는 고유 한 세션 ID로 식별 전용 데이터 저장소, 서버 측에서 세션 데이터를 저장, 클라이언트 측 쿠키를 통해 세션 ID를 다시 보낼 것이다, 다음 서버 (gunicorn 노동자) 세션 데이터를 검색 할 수 있습니다.

나는 이것처럼, 어떻게 세션 작품에 대한 자세한 설명을 읽을 것을 권장합니다 : http://machinesaredigging.com/2013/10/29/how-does-a-web-session-work/

+0

OK, 이것은 꽤 좋은 설명자입니다. 좀 더 조사를 해봤는데 ... session.id를 앞에 쓴 다음 나중에 session.get_by_id (id)로 요청에서 검색 할 수 있습니다. – JasTonAChair