분산 시스템의 세션 처리
서버 독립 세션
아래 그림과 같습니다.
서버 독립적 세션에서는 각 사용자 요청이 동일한 응용 프로그램 서버에서 작동되어야 하며, 이를 위해서는 로드 밸런싱 서버가 사용자 요청을 매번 동일한 주소의 서버로 보내야 합니다.
첫 번째 사용자가 처음 접속하는 1번 서버는 로드 밸런싱 서버에 의해 사용자 세션 내내 1번 서버로 지정되어야 합니다. 다른 서버에서는 1번 사용자의 세션 정보를 저장하지 않습니다.
요즘 로드밸런싱 서버에는 일반적으로 이 기능(nginx)이 있습니다
그러나 다음과 같은 상황이 발생하면
이때 서버 1이 다운되면 로드 밸런싱 서버는 사용자 1을 서버 2 또는 3으로 리디렉션하지만 사용자는 서버 2와 3에 안전한 컨텍스트가 없으며 서버는 사용자에게 다시 로그인하도록 알립니다. 이 사용자 경험은 분명히 영향을 받을 것입니다. 그리고 사용자 데이터 손실이 발생할 가능성이 매우 높습니다.
각 서버가 모든 세션을 유지합니다
각 서버가 모든 사용자 세션을 유지합니다. 이는 애플리케이션 서버 간의 세션 동기화 문제와 관련이 있으며 실시간 요구 사항이 상대적으로 높습니다. 이 방법을 사용하면 다음 그림과 같이 위 서버의 독립 세션에서 발생하는 문제를 피할 수 있습니다.
장점
이 방법은 첫 번째 방법이 발생합니다. 이 경우 1번의 세션 정보는 2번과 3번 서버에도 저장됩니다. 로드 밸런싱 서버에 장애가 발생하여 1번 사용자를 2번과 3번 서버로 리디렉션하면, 서버는 사용자 번호 1의 보안 컨텍스트도 찾습니다. 다시 로그인할 필요 없이 계속 액세스할 수 있습니다.
단점
그러나 이 방법에도 단점이 있습니다. 즉, 애플리케이션 서버의 세션 동기화에 대한 실시간 요구 사항이 상대적으로 높고 추가적인 크로스 밴드 오버헤드가 발생한다는 것입니다. 세션이 멀리 있을 때 상황이 바뀌면 동기화가 필요합니다. 세션의 정보량이 상대적으로 크면 상당한 메모리를 소비하게 됩니다.
서버 공유 세션
서버 공유 세션 정보 :
장점
각 사용자의 세션 정보가 저장됩니다. 애플리케이션 외부의 다른 서버(데이터베이스 또는 KV 스토리지 서비스일 수 있음)에 저장하므로 애플리케이션 서버는 각 사용자의 세션 정보를 저장할 필요가 없으므로 많은 메모리 오버헤드가 절약됩니다.
서로 다른 애플리케이션 서버가 세션 정보를 사용해야 할 경우 공유 세션 서버로 이동하여 정보를 얻습니다.
이렇게 하면 로드 밸런싱 서버가 사용자를 고정 서버에 할당할 필요가 없고, 서버 간 세션 정보를 복사할 필요도 없습니다. 세션 정보가 변경되면 애플리케이션 서버가 해당 서버로 이동하게 됩니다. 공유 서버를 수정하려면 정보가 충분합니다.
단점
공유 서버에 더 의존하거나 공유 서버 클러스터에 문제가 발생하면 사용자에게 큰 영향을 미칩니다.
쿠키로 세션 데이터를 전송합니다.
쿠키에 사용자 정보를 저장하면 불안정한 요인을 제거할 수 있지만, 쿠키에는 여전히 보안상의 위험성이 숨어 있고, 쿠키에도 길이 제한이 있습니다.
').addClass('사전 번호 매기기').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });위 내용은 분산 시스템에서의 세션 처리에 대한 내용을 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











쿠키는 일반적으로 브라우저의 쿠키 폴더에 저장되며, 브라우저의 쿠키 파일은 일반적으로 바이너리 또는 SQLite 형식으로 저장됩니다. 쿠키 파일을 직접 열면 일부 왜곡되거나 읽을 수 없는 내용이 나타날 수 있으므로 사용하는 것이 가장 좋습니다. 쿠키를 보고 관리하기 위해 귀하의 브라우저에서 제공하는 쿠키 관리 인터페이스.

컴퓨터의 쿠키는 사용된 브라우저 및 운영 체제에 따라 브라우저의 특정 위치에 저장됩니다. 1. Google Chrome, C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default\Cookies에 저장됨 등.

세션 실패는 일반적으로 세션 수명 만료 또는 서버 종료로 인해 발생합니다. 해결 방법은 다음과 같습니다. 1. 세션 수명을 연장합니다. 3. 쿠키를 사용합니다. 4. 세션 관리 미들웨어를 사용합니다.

PHPSession의 도메인 간 문제 해결 프런트엔드와 백엔드 분리 개발에서 도메인 간 요청이 표준이 되었습니다. 도메인 간 문제를 처리할 때 일반적으로 세션 사용 및 관리가 포함됩니다. 그러나 브라우저 원본 정책 제한으로 인해 기본적으로 도메인 간에 세션을 공유할 수 없습니다. 이 문제를 해결하려면 도메인 간 세션 공유를 달성하기 위한 몇 가지 기술과 방법을 사용해야 합니다. 1. 도메인 간 세션을 공유하기 위한 쿠키의 가장 일반적인 사용

휴대폰의 쿠키는 모바일 장치의 브라우저 애플리케이션에 저장됩니다. 1. iOS 장치의 경우 쿠키는 Safari 브라우저의 설정 -> Safari -> 고급 -> 웹사이트 데이터에 저장됩니다. 2. Android 장치의 경우 쿠키가 저장됩니다. 설정 -> 사이트 설정 -> 크롬 브라우저의 쿠키 등에서

쿠키의 작동 원리에는 쿠키를 보내는 서버, 쿠키를 저장하는 브라우저, 쿠키를 처리하고 저장하는 브라우저가 포함됩니다. 자세한 소개: 1. 서버는 쿠키를 보내고, 서버는 쿠키가 포함된 HTTP 응답 헤더를 브라우저에 보냅니다. 2. 브라우저는 쿠키 등을 저장합니다.

인터넷의 대중화로 인해 우리는 브라우저를 사용하여 인터넷 서핑을 하는 것이 생활 방식이 되었습니다. 브라우저를 일상적으로 사용하다 보면 온라인 쇼핑, 소셜 네트워킹, 이메일 등 계정 비밀번호를 입력해야 하는 상황에 자주 직면하게 됩니다. 이 정보는 다음에 방문할 때 다시 입력할 필요가 없도록 브라우저에 기록되어야 합니다. 이때 쿠키가 유용합니다. 쿠키란 무엇입니까? 쿠키는 서버가 사용자의 브라우저에 전송하고 로컬에 저장되는 작은 데이터 파일을 말하며 일부 웹사이트의 사용자 행동을 포함합니다.

쿠키 삭제의 영향에는 개인화 설정 및 기본 설정 재설정, 광고 경험 영향, 로그인 상태 및 비밀번호 기억 기능 파괴 등이 포함됩니다. 자세한 소개: 1. 개인 설정 및 기본 설정을 재설정합니다. 쿠키가 삭제되면 장바구니가 비워지고 제품을 다시 추가해야 합니다. 쿠키를 삭제하면 소셜 미디어 플랫폼의 로그인 상태도 손실되므로 필요합니다. 2. 쿠키가 삭제되면 웹사이트는 당사의 관심사와 선호도를 이해할 수 없으며 관련 없는 광고 등을 표시하게 됩니다.
