스테이트리스 서버를 만들고 싶습니다. 따라서 서버가 다운되면로드 밸런서가 요청을 다른 서버로 리디렉션 할 수 있습니다. 하지만 세션이 하나의 서버에서 생성되면 서버를 유지하는 방법이 내려갑니다. mysqlstore를 사용하여 데이터베이스에서 세션을 유지하지만 각 서버에 대해 데이터베이스에 새로운 레코드를 생성하므로 세션 ID가 공유되지 않습니다 다른 서버. 따라서 서버에 상태를 저장하는 메커니즘이 필요합니다.nodejs에서 서버를 통해 세션을 공유하는 방법은 무엇입니까?
0
A
답변
1
다른 의미가 없으므로 express-session
을 사용하고있는 것으로 추측됩니다.
당신은 mysqlstore를 올바르게 사용하고 있습니다. 노드의 단일 스레드 문제를 해결하는 방법은 express-session
을 빼고 대신 세션 데이터를 암호화하여 클라이언트 쿠키에 저장하는 것입니다. 그런 다음 GET 요청에 대한 세션 데이터의 암호를 해독하고 쿠키의 분리 키를 사용하여 데이터베이스에서 유효성을 검사 할 수 있습니다 (존재하지 않으면 새로운 세션/쿠키 쌍을 만들 수 있음).
가장 많이 사용되는 Node.js 미들웨어는 cookie-session.
입니다. 거기에는 훌륭한 설명서가 있습니다. 여러 서버와 지금은 꽤 확장 가능한 장소에있는 것 같습니다 있기 때문에 보조 노트로
https://github.com/expressjs/cookie-session
, 그것은express-session
을 어쨌든 죽겠다 가치가있다.
express-session
은 메모리 누수와 관련하여 알려진 문제가있는 MemoryStore를 사용합니다. 소규모 프로젝트에 사용하기에는 괜찮지 만 더 큰 프로젝트의 경우 다시 고려해야합니다.
관련 문제
- 1. Nodejs에서 서버를 만드는 방법은 무엇입니까?
- 2. 퍼티 세션을 다른 사람과 공유하는 방법은 무엇입니까?
- 3. 플래시 AS3와 PHP간에 세션을 공유하는 방법은 무엇입니까?
- 4. Node.js - http 서버와 net 서버간에 세션을 공유하는 방법은 무엇입니까?
- 5. HTTP 세션을 공유하는 JaxWSProxyFactoryBean
- 6. 이메일을 통해 패스를 공유하는 방법
- 7. iPhone에서 앱을 통해 패스를 공유하는 방법은 무엇입니까?
- 8. UIDocumentInteractionController를 통해 여러 파일을 공유하는 방법은 무엇입니까?
- 9. AirDrop을 통해 앱을 공유하는 방법은 무엇입니까?
- 10. 인 텐트를 통해 폴더를 공유하는 방법은 무엇입니까?
- 11. hapijs를 사용하여 여러 서버에서 세션을 공유하는 방법은 무엇입니까?
- 12. PHP와 ASP.net 응용 프로그램간에 세션을 공유하는 방법은 무엇입니까?
- 13. 활동간에 액티비티 모금 세션을 공유하는 방법은 무엇입니까? (안드로이드)
- 14. Java 프로그램에서 두 HTTPClient간에 세션을 공유하는 좋은 방법은 무엇입니까?
- 15. Zend 1을 Symfony 2로 랩핑하십시오. 세션을 공유하는 방법은 무엇입니까?
- 16. android에서 프로젝트를 통해 세션을 유지하는 방법은 무엇입니까?
- 17. 연락처를 공유하는 방법은 무엇입니까?
- 18. dev 및 테스트 용으로 동일한 K2 서버를 공유하는 방법은 무엇입니까?
- 19. memcache를 통해 공유하는 PHP 세션을 대체하는 데 사용할 수있는 항목
- 20. Nodejs에서 파일간에 세션 변수를 내보내는 방법은 무엇입니까?
- 21. MongoDB에서 nodeJS TCP 서버를 사용하여 세션을 구현하는 방법은 무엇입니까?
- 22. nodejs에서 CSS를 렌더링하는 방법은 무엇입니까?
- 23. 명령으로 연결을 공유하는 방법은 무엇입니까?
- 24. 앱에서 데이터를 공유하는 방법은 무엇입니까?
- 25. 네트워크를 통해 jboss를 공유하는 방법
- 26. 프로그래밍 방식으로 서버를 보호하고 세션을 유지 관리하십시오.
- 27. 서버를 통해 브라우저 열기
- 28. ¿ 세션을 복제하는 방법은 무엇입니까?
- 29. 세션을 유지하는 방법은 무엇입니까?
- 30. 안드로이드 클라이언트를위한 인터페이스를 공유하는 자바 서버를 구현하십시오.
기본적으로 상태 비 저장 응용 프로그램은 세션을 유지 관리하지 않습니다. 세션은 상태입니다. 올바른 질문을 하시겠습니까? – Paul
서버가 다운되면 리디렉션에 대해 걱정할 필요가 없습니다. AWS ELB는 자동으로 유해한 상태로 표시하고로드 밸런서에 연결된 다른 상태 서버로 트래픽을 전송합니다. – error2007s
애플리케이션 제어 세션 스틱을 사용하십시오. http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-sticky-sessions.html#enable-sticky-sessions-application – error2007s