세션 클러스터링이란?
=> 여러 서버에 걸쳐 세션 데이터를 분산 저장하고 관리하는 기술
=> 일반적으로 웹 어플리케이션은 세션을 사용하여 클라이언트의 상태를 유지하고 사용자에게 일관된 경험을 제공함
=> 단일서버 실행 시 서버 장애 또는 부하 분산의 어려움으로 인해 세션 데이터 손실 및 서비스 중단의 위험이 존재
- 이러한 문제를 해결하기 위해 여러 서버 간 세션 데이터 공유 및 동기화 방법 제공
=> 클러스터링 된 환경에서는 각 서버가 동일한 세션 데이터를 사용하며, 클라이언트의 요청이 동일한 세션에 접근하더라도 서버 간에 세션 데이터를 공유하여 일관성을 유지함
장점
- 고가용성 : 세션 클러스터링을 통해 여러 서버간에 세션 데이터를 공유하므로 단일 서버 장애 시 세션 데이터 유실 없이 서비스 지속 가능
- 확장성 : 서버를 추가하거나 제거하여 세션 처리 능력을 쉽게 확장 및 축소할 수 있음, 서버 부하 분산으로 성능 향상
- 부하 분산 : 로드밸런서를 사용하여 클라이언트 요청을 여러 서버로 분산 시켜 성능과 응답 시간 개선
- 세션 상태 공유 : 클라이언트 상태를 일관되게 유지할 수 있음
단점
- 구성 및 관리의 복잡성 : 여러 서버 간의 데이터 동기화, 로드밸런싱, 클러스터 식별자 설정 등 다양한 요소의 설정이 필요함
- 성능저하 : 세션 클러스터링은 데이터 동기화 및 공유에 따른 오버헤드가 발생할 수 있음, 네트워크 부하와 지연이 발생할 수 있어 전체적인 응답시간에 영향을 줄 수 있음
- 공유된 리소스 의존성 : 공유 데이터 저장소에 대한 의존성이 있음, 해당 저장소 장애 발생시 모든 서버가 영향을 받을 수 있음
'WEB WAS > 미들웨어' 카테고리의 다른 글
[CentOS 7] 아파치 설치 및 실행 (yum 활용) (0) | 2023.06.06 |
---|---|
Coherence 란? (0) | 2023.06.05 |
vhosts 란? (Virtual Hosts) (0) | 2023.06.05 |
Apache Tomcat vs WebLogic (0) | 2023.06.05 |
서블릿 (Servlet)이란? (0) | 2023.06.05 |