일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 쿠키
- 코드 계약
- piplining
- jwt 표준
- 카카오
- 프로그래머스
- spring event
- 백준
- 레디스 동시성
- 셀러리
- AWS
- 검색어 추천
- branch 전략
- 숫자 블록
- 완전탐색
- 알람 시스템
- 디버깅
- 트랜잭샨
- 구현
- 좋은 코드 나쁜 코드
- 결제서비스
- 객체지향패러다임
- 수신자 대상 다르게
- prg 패턴
- 깊게 생각해보기
- gRPC
- 누적합
- BFS
- docker
- 이분탐색
- Today
- Total
코딩관계론
ELB - Session Persistence 본문
목적
로드 밸런서의 세션 지속성(Session Persistence)은 클라이언트가 여러 개의 백엔드 서버에 걸쳐서 작업을 수행할 때, 같은 클라이언트 요청이 항상 같은 백엔드 서버에 전달되도록 하는 기능입니다. 즉, 클라이언트가 한 번 접속한 후에도 계속 같은 서버에 접속하는 것을 보장해줍니다.
동작 방법
로드 밸런서에서 세션 지속성은 쿠키 기반 또는 서버 기반으로 설정할 수 있습니다. 쿠키 기반 세션 지속성은 클라이언트의 브라우저에 쿠키를 저장하고, 이를 이용하여 요청이 처리되는 백엔드 서버를 선택합니다. 서버 기반 세션 지속성은 로드 밸런서가 각 클라이언트의 요청을 특정 백엔드 서버에 할당하도록 지정합니다.
세션 지속성을 사용하면 로드 밸런서가 어떤 인스턴스에 클라이언트 요청을 보낼지 결정할 때, 그 전에 이미 연결된 인스턴스를 우선적으로 선택합니다. 이는 클라이언트의 로그인 정보나 쇼핑 카트 등과 같이 특정한 상태를 유지해야 하는 웹 애플리케이션에서 매우 유용합니다.
장단점
장점:
- 클라이언트가 한 번 연결된 서버에 계속해서 요청을 보내게 되므로 세션 유지에 대한 부하를 분산시키지 않아도 됩니다.
- 클라이언트가 로드 밸런서와 같은 중간 장비와 연결되어 있는 동안 서버가 변경되더라도 이를 인식하고 자동으로 연결을 변경해주기 때문에 클라이언트에서는 끊김 없이 서비스를 계속 이용할 수 있습니다.
단점:
- 로드 밸런서의 특정 서버에 대한 부하가 매우 커지는 경우, 세션 지속성 때문에 해당 서버의 부하만 증가하고 다른 서버로의 부하 분산이 이루어지지 않아 전체 시스템의 성능 저하를 야기할 수 있습니다.
- 세션 정보를 유지하기 위해 쿠키 등의 저장 공간을 사용하기 때문에 이에 대한 추가적인 저장 공간이 필요하며, 이를 관리하기 위한 추가적인 처리가 필요할 수 있습니다.
따라서, 세션 지속성은 특정 상황에서는 유용하게 사용될 수 있지만, 서비스의 특성과 요구사항에 따라 적절한 방법으로 선택되어야 합니다.
용어 설명
*쿠키(Cookie)
의미: 인터넷 사용자가 어떤 웹사이트를 방문할 때 그 사이트가 사용하게 되는 작은 데이터 파일입니다. 클라이언트에서 서버로 요청을 보낼 때, 서버는 응답에 쿠키를 포함하여 클라이언트에게 전송합니다. 그리고 클라이언트는 이 쿠키를 저장하고 이후의 요청에 쿠키를 포함하여 서버로 요청을 보냅니다.
종류: 쿠키는 사용자의 웹 브라우저에서 저장되며, 보통은 세션 쿠키(session cookie)와 지속적인 쿠키(persistent cookie) 두 가지 종류가 있습니다.
목적: 로드 밸런서에서 생성되는 세션 쿠키는 로드 밸런서가 클라이언트 요청을 어떤 인스턴스로 보내야 하는지 추적하는 데 사용됩니다. 세션 지속성을 사용하는 경우 로드 밸런서는 클라이언트가 처음 요청을 보낼 때 쿠키를 생성하고 이후의 모든 요청에서 이 쿠키를 사용하여 인스턴스에 대한 지속적인 연결을 유지합니다. 따라서 세션 지속성을 사용하면 클라이언트의 모든 요청이 항상 동일한 인스턴스로 보내지므로 일관성 있는 사용자 경험을 제공할 수 있습니다.
세션 쿠키는 웹사이트 방문자가 브라우저를 닫을 때 자동으로 삭제됩니다. 이러한 쿠키는 보통 인증, 쇼핑 카트, 웹 페이지 개인화 등의 목적으로 사용됩니다. 지속적인 쿠키는 사용자가 삭제하기 전까지는 브라우저에 유지됩니다. 이러한 쿠키는 사용자가 자동 로그인, 팝업창에서 알림 메시지를 본 적이 있는지 등의 정보를 저장하기 위해 사용됩니다.
'AWS' 카테고리의 다른 글
AWS - Cross-Zone Load Balancing & SSL / TLS & SNL (0) | 2023.04.02 |
---|---|
AWS - Auto Scaling Group (ASG) (0) | 2023.04.02 |
AWS - Elastic Load Balancer (0) | 2023.04.02 |
AWS - 고가용성과 확장성이란? (0) | 2023.03.29 |
AWS - EBS & EFS (0) | 2023.03.27 |