묠니르묘묘
꾸준히 성장하는 개발자스토리
묠니르묘묘
전체 방문자
오늘
어제
  • 분류 전체보기 (188)
    • 프로그래밍 (48)
      • 디자인패턴 (4)
      • 예외,에러 (4)
      • Java (29)
      • Kotlin (3)
      • React.js (4)
      • JavaScript (2)
      • Apache Kafka (2)
    • Spring (49)
      • Spring (21)
      • Spring Cloud (3)
      • JPA (25)
    • 코딩테스트 (31)
      • 알고리즘 (5)
      • Java - 백준 (26)
      • Java - 프로그래머스 (0)
    • AWS (7)
    • 데이터베이스 (6)
    • 개발 etc (23)
    • 도서 (5)
    • 회고록 (4)
    • 데브코스-데이터엔지니어링 (15)

인기 글

최근 글

hELLO · Designed By 정상우.
묠니르묘묘

꾸준히 성장하는 개발자스토리

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

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

2023. 7. 7. 22:05
  • 백엔드 아키텍처 기초 1
  • 백엔드 아키텍처 기초 2 - 응답시간 개선
  • 백엔드 아키텍처 기초 3 - 웹 계층 수평적 확장
  • 백엔드 아키텍처 기초 5 - 메시지 큐, 로그, 메트릭, 자동화
  • 백엔드 아키텍처 기초 6 - 데이터베이스 규모 확장

 

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

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

 

전 세계에서 사용한다면?

 

🚀 데이터 센터

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

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

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

 

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

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

 

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

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

저작자표시 비영리 (새창열림)

'개발 etc' 카테고리의 다른 글

백엔드 아키텍처 기초 6 - DB 규모 확장  (0) 2023.07.18
백엔드 아키텍처 기초 5 - 메시지 큐, 로그, 메트릭, 자동화  (0) 2023.07.17
백엔드 아키텍처 기초 3 - 웹 계층 수평적 확장  (0) 2023.06.27
백엔드 아키텍처 기초 2 - 응답시간 개선  (0) 2023.06.26
AWSome Day 온라인 컨퍼런스 후기  (2) 2023.06.21
    '개발 etc' 카테고리의 다른 글
    • 백엔드 아키텍처 기초 6 - DB 규모 확장
    • 백엔드 아키텍처 기초 5 - 메시지 큐, 로그, 메트릭, 자동화
    • 백엔드 아키텍처 기초 3 - 웹 계층 수평적 확장
    • 백엔드 아키텍처 기초 2 - 응답시간 개선
    묠니르묘묘
    묠니르묘묘

    티스토리툴바