배우고 익혀 널리 알리자

[Server]세션 클러스터링이란? Session Clustering

로춘남 2022. 4. 14. 08:29
728x90

세션 클러스터링(Session Clustering) 이란?

두 대 이상의 WAS를 이용하는 경우 로드 밸런싱(대용량 트래픽 처리시 분산시키는 것) 또는 failover(장애 발생시 예비시스템으로 자동전환, 서버 이중화), auto scaling(AWS에서 EC2 인스턴스를 자동으로 생성하고 삭제해주는 서비스) 등의
대체된 WAS에게도 세션이 공유하게 하는 기술이다.

이 과정에서 고려해야할 점은 세션 정보 저장 영역을 늘리기 위해선 JVM 의 Heap 사이즈를 늘릴 수는 있지만 너무 늘리게 되면 "Full GC" 처리 시간 때문에 장애요인이 발생 할 수 있다. 

 

클러스터 특징
1) 노드 장애 시 다른 노드에서 클라이언트와 통신 하여 서비스 제공 ex) Multicast통신 
2) 부하 분산(LB)를 통해 성능 저하 방지, 다수의 서버에서 처리가능 (고가용성)
3) 자동 장애 복구( 정상적인 서비스 보장 ) ex) 서버 이중화
4) 단점으로는 관리의 어려움과 프로그램 병렬화의 어려움이 있다.

  • 클러스터 종류
    • 계산용 클러스터(HPC)
    • 부하분산 클러스터(LVS)
    • 고가용성 클러스터(HA)

세션 클러스터링 구성 방식

세션 클러트서링 구성 방식


1) WAS 간 구성
세션 데이터별 Primary/BackUp 인스턴스를 지정하여 공유.
장점: 별도의 서버 인프라 없이 가능.
단점: 세션데이터의 백업 및 동기화 이슈, 장애 발생시 세션 복제의 이슈가 발생

2) 세션 서버 구성
별도의 세션 서버 운영.
장점: 인스턴스간 세션 공유 설정이 용이. 
단점: 단일 장애 지점으로 장애시 복제를 구성해. 성능이 좋지는 못함.

3) 세션 데이터그리드 구성
데이터그리드(JVM 프로세스 수를 늘리는것)에서 세션 정보를 저장하여 운영.
장점: 인스턴스와 애플리케이션 간 세션 공유가 용이합니다. Elastic 확장성과 안장성을 보장. 메모리 기반 고성능.
단점: 별도의 서버 구성으로 인한 비용 발생. 관리포인트가 증가. 
예시: Tomcat , JBoss , WebLogic 

 

Data Grid 방식의 이점

 

Tomcat 이중화 세션 클러스트링

멀티캐스트(One-To-Many 통신) 와 Session Replication 구조입니다. 
Tomcat의 기능중 에는 세션 복제(세션 클러스터) 기능을 켜두면 이중화된 톰캣 간에 multicast 방식으로 공유하고 싶은 정보를 전파.

Tomcat 이중화 세션 클러스터링 구조도

서버 Level 에서 본다면, Apache 서버를 두고 Tomcat 서버를 연동시켜서 사용하는 방법 2가지.

Horizontal Clustering

① Horizontal Clustering 

  • 장점: 이론적으로는 제한없이 확장할 수 있다. 애플리케이션이 확장 가능하게 디자인된 경우, 더 많은 노드를 추가하여 제한없이 증가할 수 있다. 클라우드 환경의 도구를 사용하면 노드를 손쉽게 추가 또는 제거할 수 있으므로 용량을 쉽게 조정할 수 있고, 사용한 리소스에 대해서만 비용을 지불하게 된다.
  • 단점: 애플리케이션을 확장 가능하게 디자인해야 합니다. 애플리케이션 데이터베이스 및 지속성도 확장하려면 추가적인 아키텍처 작업이 필요할 수 있다. 그렇지만 Service Fabric 상태 저장 서비스의 신뢰할 수 있는 컬렉션을 사용하면 애플리케이션 데이터를 훨씬 더 쉽게 확장할 수 있다.

    ※ Service Fabric은 컨테이너에서 실행되는 엔터프라이즈급 계층 1 클라우드 규모의 애플리케이션을 빌드 및 관리하기 위한 차세대 플랫폼

Vertical Clustering

② Vertical Clustering 

  • 이점: 소프트웨어 및 애플리케이션 아키텍처가 동일하게 유지. 그에따라 프로그램 구조 난이도가 스케일아웃에 비해 상대적으로 단순.
  • 단점: 개별 노드에서 늘릴 수 있는 리소스 양이 제한되어 있으므로 확장 한계가 있다. 리소스를 추가하거나 제거하기 위해 물리적 컴퓨터 또는 가상 머신을 오프라인으로 전환해야 하므로 가동 중지 시간이 발생.

출 처 :

 

728x90