분포식 하의session 처리 방식

현재의 기업 등급 개발 아래 분포식 문제는 곳곳에서 볼 수 있다.오늘은 분포식 상황에서session의 처리를 살펴보겠습니다.현재의 처리 방식은 다음과 같은 몇 가지가 있다. 1. 세션 점성.사용자가 어떤 서버에 방문한 후에 그 서버만 가게 하면 된다는 것이다.그렇게 오랫동안 사용자로 하여금 이 기계만 방문하게 할 수 있다.eg:nginx 구성
upstream test{
    # 
    ip_hash;# Session
     server 192.168.22.229:8080 weight=1;
     server 192.168.22.230:8080 weight=1;
}

장점: 조작이 간단하고session에 대해 어떠한 조작도 할 필요가 없다. 한 기계가 끊어지면 유량이 다른 기계로 절단된다.일부 사용자의 세션 적용 장면을 잃어버릴 수 있습니다. 고장이 발생하면 고객에게 미치는 영향이 비교적 적습니다.서버에 장애가 발생한 것은 낮은 확률의 사건이다.
2. 방송 방식을 사용하여 한 서버의session에서 (삭제 수정) 한 후에 이session의 모든 데이터를 방송과 같은 방식으로 다른 서버에 동기화합니다.장점: 용착성 증가 단점: 기계가 너무 많으면 안 되고session 수량이 너무 크면 안 됩니다. 그렇지 않으면 네트워크가 막히고 서버가 느려집니다.
3. 중간부품 공유session을 사용하여redis나Memcached를 사용하여 중간부품으로 하고session의 데이터는 그 안에 저장한다.여기에 필요한 것은 레디스나Memcached가 집단이어야 한다는 것이다.두 가지 방법: (1) 점성: 말하자면 첫 번째 방식과 마찬가지로 한 사용자의 요청은 한 서버만 가고session 데이터를 가져올 때 모두 이 서버에만 있지만 사용자의 session은redis에 저장하여 백업(재해용)으로 해야 한다.서버가 끊어지면 이 사용자의session을 다른 기계에 복사하고 데이터를 전송할 수 있습니다.(1) 비점성: 이런 상황에서 사용자의session을redis에 저장하는 것입니다. 사용자가 방문할 때 읽기와 수정은 모두 redis에 있습니다. 현재 이런 방법은 여러분이 가장 많이 사용하는 방법입니다.
4. 세션 데이터 저장 데이터베이스에서 이런 방법의 장단점은 모두가 알고 있다.장점: 데이터가 오래 지속되고 서버가 끊어져도 괜찮아요.단점: 천천히 천천히!!!그리고 사용자가 너무 많을 때 성능이 떨어진다.

좋은 웹페이지 즐겨찾기