개발 etc

백엔드 아키텍처 기초 4 - 데이터 센터

묠니르묘묘 2023. 7. 7. 22:05

 

기초 3에서는 무상태 웹 계층을 가지면서 유연하고 확장성 있는 아키텍처 구조를 살펴보았다.

이제는 전 세계에서 접속한다고 했을 때를 생각해보자.

 

전 세계에서 사용한다면?

 

🚀 데이터 센터

  • 장애가 없는 상황에서 사용자는 가장 가까운 데이터 센터에서 처리됨
  • 이를 지리적 라우팅(geoDNS-routing)이라고 함

데이터 센터가 있을 때 아키텍처 구조

  • 한국 사용자는 Korea DC1, 미국 사용자는 USA DC1 으로 안내됨
  • 만약 데이터 센터 하나가 장애 발생 시, 다른 데이터 센터로 모든 트래픽이 전송됨

 

⚠️ 다중 데이터 센터 구성 시 주의사항

  • 올바른 데이터 센터로 트래픽을 보내는 효과적인 방법 찾기
    • GeoDNS는 사용자에게서 가장 가까운 데이터센터로 트래픽을 보내야 함
  • 데이터 동기화(synchronization)
    • 데이터 센터마다 별도의 데이터베이스를 사용할 때, 장애 발생 시 다른 데이터 센터에 데이터가 쌓이고 원래 데이터센터에는 데이터가 없을 것임
    • 이런 상황을 막으려면 여러 데이터 센터에 걸쳐 다중화를 해야 함 (넷플릭스 다중화 참고)
  • 테스트와 배포
    • 여러 데이터 센터를 사용하도록 시스템이 구성된 상황일 때, 웹 사이트 or 애플리케이션을 여러 위치에서 테스트 해봐야 함
    • 자동화된 배포 도구는 모든 데이터 센터에 동일한 서비스가 설치되도록 하는 데 중요한 역할을 함

 

위와 같은 주의사항(분산 시스템의 여러 문제들)을 해결하기 위해  메시지 큐(message queue)를 사용하기도 한다.

다음은 메시지 큐를 살펴보자.