분산 세션 정합성 보장
분산 세션 정합성 보장
SESSION
는 서버가 클라이언트를 위해 만든 세션으로 사용자의 관련 정보를 저장하고 사용자의 신분을 표시하는 데 사용된다.단일 서버 환경에서는 세션의 일치성을 고려할 필요가 없지만 집단 환경에서 문제가 발생할 수 있습니다. 만약에 한 사용자가 로그인 요청을 할 때 A
서버에 부하가 균형이 잡혀 있다면, A
서버가 그를 위해 분배되었고, 다음에 데이터를 요청할 때 SESSION
서버에 분배되었습니다. 이때 B
서버에 이 사용자가 존재하지 않기 때문에B
이 사용자는 로그인 페이지로 리디렉션됩니다. 이런 상황은 불합리한 업무 논리이기 때문에 SESSION
의 일치성을 유지해야 합니다.솔루션
세션 동기화
여러 서버 간 상호 동기화
SESSION
, 즉 SESSION
서버에서 하나의 A
정보를 생성한 후 SESSION
, B
, C
등의 서버로 동기화하여 같은 D
, B
, C
서버에서 D
정보를 생성한 후에도 SESSION
로 동기화해야 합니다.이점
A
복제 기능을 제공하여 집단을 실현한다결점
SESSION
네트워크 전송을 동기화해야 하며 대역폭을 차지하고 일정한 지연이 있음SESSION
정보가 바뀌면 모든 서버SESSION
의 내용을 동시에 업데이트해야 한다세션 매핑
부하 균형 서버를 수정하여 사용자에게 되돌아오는
SESSION
또는 사용자가 요청한 SESSION
주소를 표시하거나 4층 전송층에서 네트워크 층을 읽는 SESSION ID
또는 7층에서 읽는 IP
협의 중의 일부 속성을 사용하여 IP
이 사용자의 요청이 모두 같은 서버에 떨어지도록 보증합니다이점
결점
클라이언트 스토리지
클라이언트에 데이터를 직접 저장합니다. 예를 들어
HTTP
또는 요청 헤더에서 클라이언트에게 요청할 때마다 자동으로 데이터 정보를 휴대합니다.이점
결점
백엔드 중앙 집중식 스토리지
HASH
,Cookie
,SESSION
,Mysql
,Oracle
,SqlServer
,Redis
등 각 Mongodb
서버가 사용자 정보를 필요로 할 때 휴대SERVER
하여 집중 저장 서버에 대한 요청을 하고 사용자 정보를 얻는다이점
SESSION ID
서버 재가동으로 인한 손실이 없음결점
참고
https://www.jianshu.com/p/5caed857dc3e
https://www.cnblogs.com/study-everyday/p/7853145.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.