참고1: 가상 면접 사례로 배우는 대규모 시스템 설계 기초, 알렉스 쉬
참고2: 위키피디아
데이터 센터(서버 호텔)
데이터 센터는 서버, 스토리지 시스템 등 IT 인프라를 보관하는 물리적인 시설을 말한다. 서비스를 이용하는 사용자에게 지리적 라우팅(geoDNS-routing 혹은 geo-routing)을 통해 가장 가까운 데이터 센터로 연결시킨다.
- 만약, 특정 데이터 센터에 장애가 발생하면 장애가 없는 데이터 센터로 연결
geoDNS-routing
DNS 요청을 처리할 때, DNS에서 제공하는 geoDNS 서비스를 이용해 가장 가까운 데이터 센터로 라우팅한다. geoDNS는 사용자의 위치에 따라 가까운 데이터 센터에 해당하는 IP주소로 변환하는 DNS 서비스이다.
다중 데이터 센터를 위한 선행과제
여러 데이터 센터를 기반으로 설계하기 위해선 '트래픽 우회', '데이터 동기화', '테스트와 배포'를 고려해야 한다.
트래픽 우회
가장 가깝고, 원활한 데이터 센터로 트래픽을 보내는 방법을 찾아야 한다. (ex, geoDNS를 이용)
데이터 동기화
데이터 센터마다 DB가 달라, 사용자를 기준으로 A데이터센터에서 B데이터센터로 변경되었을 때, DB의 데이터가 다를 수 있다. 이런 상황을 해결하기 위한 데이터 동기화를 고려해야 한다. (여러 데이터 센터에 걸쳐 다중화하는 방법을 많이 사용한다고 한다. == Netflix가 사용하는 방법)
테스트와 배포
여러 위치에서 원활히 작동하는 지, 테스트 후 배포해야 한다. 이때, 자동화 배포 도구는 모든 데이터 센터에 동일한 서비스가 설치되도록 하는 것이 중요하다.