공부한것들을 정리하는 블로그 입니다.
서버 점검 및 Scale Up 상황에서의 고려사항 (ActiveActive -> ActiveStandby) 본문
* 해당 글은 계속 수정 예정입니다.
최초 작성일 2021.02
마지막 수정일 2023.04
# 상황 설명
무중단 서비스를 지향하는. 이중화 되어있는 서버 상황(Active - Active)에서
한쪽 서버에 대해 스케일 업(Scale Up) 또는 정기점검 진행을 위해. 잠시 단일서버로 운영되어야 하는 상황이다.
ex) A서버,B서버 중 L4제어하여 A서버로의 연결을 C서버로 변경하여 테스트 or A서버의 거래비를 제외하여 서비스를 제공하지 않는 상태로 만듦
대다수 고객 입장에서는 이중화된 서버(Active - Active)를 잠시 단일화(Active - Standby) 하는 상황이고
이는 즉, 특정 고객의 경우터 단일화 서버(Active - Standby)인 상황에서 서비스가 제공되지 않는 상태로 변경됨을 의미하기에, 문제가 발생 할 수 있다.
물론 주요 서비스의 경우가 아닌 부가적인 서비스. 특히 노티서비스(알림서비스)의 경우에 발생 가능하다.
가령 어떤 가맹점의 방화벽 정책이 서버A의 IP만 허용하고 있는 상황이라면,
위와같이 A서버에 대한 점검/Scale Up 하는 상황에서 이후 서버B,서버C의 IP에 대해 알림서비스를 제공받지 못할 수 있다. (연결실패로 인한 connection timeout 발생 예상)
작업시간이 짧다면 영향이 적겠지만 시간이 길다면 대안이 필요 할 수 있다.
이에 대한 해결법은,
작업시간 동안 서버B 혹은 서버C의 OUTBOUND쪽 IP를 임시로 서버A로 변경하는 것이 있다.
물론, 주요서비스 요청이 가장 적은 시간대에 작업을 진행하고 (고객 뿐 아니라 외부API도 고려해야 하므로, 주말새벽 등을 선택 가능)
고객 및 가맹점 측으로 점검에 대한 공지나 알림을 사전에 진행하고
고객 및 가맹점으로 서버B 혹은 서버C에 대한 방화벽 정책을 요청하는 것을 선행하는 것이 옳다.
# 참고
1. 본인 블로그 : (참고사례)
https://drsggg.tistory.com/737
'경력 실무경험 > 실무 주제' 카테고리의 다른 글
레거시 서버 장비노후 이슈 발생 및 조치 (0) | 2023.04.26 |
---|---|
배치컨테이너 배포와 스케줄러 실행이 동시에 진행되는 것에 주의(InvalidGlobalDeployVersionException, InvalidGlobalDeployVersion, LinkageError) (0) | 2023.04.25 |
계좌이체 서비스의 은행점검시간으로 인한 딜레이 발생시 해결방안 (은행사 시스템취소) (0) | 2023.04.25 |
SimpleDateFormat 사용시 주의사항 (년도 포맷 주의사항) (0) | 2023.04.25 |
무중단 DB/서버 Scale Up 진행시, 라운드로빈 설정이라면 유의 할 것(L4제어 무중단 DB Scale Up 중 실거래 발생) (0) | 2023.04.25 |
SELECT FOR UPDATE 구문 DB Exclusive LOCK 이슈 (0) | 2023.04.25 |
메시지 길이 설정 방식(End of Data)과 데이터 코릴레이션 오류 (0) | 2023.04.25 |
쿼리의 결과값이 없어 Empty Resultset 발생하는 경우(Illegal operation, EmptyResultException) (0) | 2023.04.21 |