방법을 공유하는 다른 응용 프로그램 서버, 세션

하나 : 공유 MySQL의 데이터베이스를 세션 ID : 모든 SESSION_ID는 MySQL 데이터베이스에 저장됩니다, 그들은 두 가지의 방법의 세션 id 동기화의 목적을 달성하기 위해, 세션 id 내부의 데이터베이스를 확인하려고하는 경우에 각 요청 : 모두와 세션 ID 테이블 MySQL의 마스터로 만든 경우 테이블 함께, 모든 데이터베이스의 요구는이 형태로 존재하며, 시간이 지남에 따라 장점과 단점을 동기화 : 위의 두 가지 방법을 방법은 세션 테이블과 테이블 서비스를 분리하는 것이 좋습니다, 데이터베이스를 감소 압력, MySQL은 디스크 기반 데이터베이스, 독서하고 읽기 및 자주 쓰는 경우 쓰기가 상대적으로 느리고, 효율이 매우 낮은이며, 따라서이 방법을 권장하지 않습니다. 두 번째로 생성 된 쿠키의 페이지에 액세스하기위한 사용자 세션 정보에 세션 쿠키를 공유함으로써 사용자 B에 할당 서버를 액세스 할 때 쿠키-A의 사용자는 서버에 액세스하는 이동 단말기는, 세션 정보는 먼저 생성 쿠키에 저장 서버가있는 세션 정보가없고,하지 않을 경우, 서버의 B 단점에 동기화 세션 쿠키의 내부 정보를 넣어 확인 : 쿠키 공유 세션, 보안, 차단 또는 클라이언트가 쿠키를 금지하는 경우, 증가 가능성을 위조, 높지 않다 로그인이 성공 후, 우리는 스크립트 나 데몬 세션 정보를 사용할 수 있습니다, 로그인 서버로 단일 서버를 사용하여 서버 동기화 공유 세션의 세션 채용이 공유 할 수 없습니다가 다른 서버에 다른 서버가 세션 정보를 가지고, 그래서 당신이 할 수 동기화 로그인 상태 유지. 단점 : 다른 기계를 허용하는 동기화가 완료 될 때까지 분포에 방문 기다릴 수 있으며, 로그인 서버가 다운되면, 전체 시스템이 NFS 공유 sessionNFS을 통해 사 (네트워크 파일 시스템)를 실행할 수 없습니다 후 동기화 서버가 느립니다. 다른 운영 체제는 파일을 공유 할 수 있습니다. NFS 서버 준비, 서버에 우리는 정보 세션을 공유 할 수 있도록 서버에 사용자가 방문하는 모든이, 세션 정보를 얻을 때마다 생성 된 모든 세션 정보를 기록합니다. 단점 : NFS 서버가 다운되면 너무 의존, 당신은 물론 당신이 클러스터를 설정 고려할 수 있습니다 작동하지 않을 수 있습니다. V. 사용자가 서버에 액세스 할 때 데이터베이스에서 획득 한 데이터를 얻을 수없는 경우, 데이터가 먼저 memcache에에서 얻을 수 있으며, 데이터가 memcache에 동기화된다 sessionmemcache 분산 캐싱 시스템, memcache에 워크 플로우되어 동기화 memcache에 사용 두 번째 시간은 memcache에의 데이터에 대한 액세스 권한을 얻을 수있을 것입니다. 그래서 상관없이 memcache에에 저장되는 서버가 생성 한 세션 정보를 공유 할 수 없습니다 장점과 단점이 세션 ID :이 동기화 세션이 메모리에, 쿠키 보안보다 데이터베이스에 부담을 증가, 그리고 더하지 않습니다, 속독 빠른 단점 : Memcache의 데이터가 메모리 블록의 형태로 저장되고, 메모리는 완전히 메모리 단편화가 발생합니다, 활용 될 수 없습니다. 서버가 다운되면 및 memcache는 데이터가 메모리에 저장된 데이터가있는 한 차이가 레디 스 주기적으로 데이터를 쓰기 업데이트 할 것입니다, 레디 스의 sessionredis에 의해 육. 손실 Memcache를 공유 세션 및 공유, 메모리에만 존재 디스크 또는 로그 파일에 첨부 된 수정 동작, 마스터에 근거하여 구현 될 수있다 내로


추천

출처blog.51cto.com/14500648/2430034