WEB / WAS 엔지니어로 프로젝트나 외근을 나가다 보면 많이 듣는 단어들이 있다.

Failover와 Failback

2개의 개념 모두 시스템에 이상이 생긴 경우(정전 작업, 장애 등)를 전재로 한다.

 

Application이 적재되어 있는 WAS와 Client의 요청을 WAS로 분기해 주는 WEB의 입장에선 장애 상황 자체가 상당히 민감한 상황이기 때문에 더욱 신경을 쓰는 부분일 것이다.

 

 

1. Failover

고가용성 시스템을 운영하기 위해서는 장비 1대만으로는 모든 상황을 극복하기 어렵기 때문에 대부분 여러 대의 장비를 두고 시스템을 운영하게 된다.

 

예를 들어 장비 A, B가 있다고 가정을 하면 여기서 운영 중인 장비를 Active, 예비 시스템 장비를 Standby라고 정의하게 된다.

만약 A 장비에서 문제가 생겨 서비스 운영을 못 하게 되었을 때 Standby 장비인 B로 자동 서비스 전환을 해주는 것이 failover이다.

 

즉, 한쪽 장비에서 장애가 발생하여 해당 서버를 더 이상 사용하지 못하게 될 경우  다른 예비 시스템으로 자동 전환되는 것이다.

 

Failover 개념

 

 

장애 상황에 맞춰 WAS / WEB에서 failover 기능을 좀 더 원활히 도와주는 시스템이 있다.

 

- WAS Cluster 기능

메인 서버가 중단되어 연결되어 있던 session이 끊기더라도 Cluster member 서버인 다른 서버로 해당 session 정보를 넘겨 Client가 느끼기에서는 session 중단이 없도록 한다. 

 

- WEB LB 기능

제조사가 제공하는 WEB 제품마다 조금씩의 차이점은 존재하지만 WEB 쪽에서 LB 기능을 통해 한쪽 서버로 부하가 몰리는 현상을 미리 방지하고 연결되어 있는 WAS 서버가 사용 불가능인 경우 연결된 다른 WAS 서버로 요청을 분기시키는 기능을 제공한다.

 

 

2. Failback

다양한 이유로 서버에 장애가 발생한 경우 장애가 발생하기 전 시점으로 상태를 되돌리는 것이 failback이다.

 

장애가 발생하기 전 시점으로 되돌린다는 말이 사실 어렵고 크게 다가올 수 있지만 쉽게 말하자면 동기화해 놓은 데이터와 백업해 놓은 다양한 설정값들을 통해 장애 발생 전 상태로 되돌린다는 것이다.

 

failback 및 roolback 상황을 대비하여 항상 설정값이 작성된 파일(config 파일)은 주기적인 백업이 필요하다.

'IT 용어' 카테고리의 다른 글

JSESSIONID  (0) 2024.08.26

+ Recent posts