❓CDN과 master-slave 전략의 비교

박재성·5일 전
0

📚글을 쓴 이유

최근에 배운 CDN과 master-slave 전략에 유사한 점이 있어보여 어떤 차이가 있을지 궁금하여 찾아보고 정리하게 되었습니다.

⭕️ 유사점

1. 데이터 분산

  • Master-Slave 전략: 데이터를 주로 마스터(master)가 관리하고, 이를 복제하여 슬레이브(slave)에 분산시킵니다.
  • CDN: 원본 서버(오리진 서버)로부터 데이터를 복제하여 전 세계의 여러 엣지 서버(edge server)에 분산합니다.
  • 공통점: 데이터를 여러 위치에 복제해 사용자에게 더 빠르게 제공하려는 목적이 있음.

2. 읽기 최적화

  • Slave 서버는 보통 읽기 작업(read)을 처리하여 마스터 서버의 부하를 줄입니다.
  • CDN 서버는 캐싱된 콘텐츠를 제공하여 원본 서버의 부하를 줄입니다.
  • 공통점: 읽기 요청을 분산시켜 원본 서버의 성능을 향상.

3. 속도와 접근성 향상

  • 두 전략 모두 사용자와 서버 간의 거리 단축 및 요청 처리 시간 단축을 목표로 함.

❌ 차이점

1. 데이터 관리

  • Master-Slave
    • 데이터는 마스터에서 슬레이브로 복제됩니다.
    • 슬레이브는 보통 실시간 업데이트를 받으며, 마스터와의 동기화가 중요합니다.
  • CDN
    • CDN은 정적 콘텐츠(예: 이미지, CSS, JS 등)를 캐싱하여 제공.
    • 모든 엣지 서버가 동기화되지는 않으며, 오리진 서버의 변경이 바로 적용되지 않을 수도 있음.

2. 목적

  • Master-Slave
    • 데이터베이스 관리에서 주로 사용되며, 데이터 무결성과 일관성 유지가 핵심입니다.
  • CDN
    • 주로 웹 콘텐츠를 빠르게 배포하는 데 초점이 맞춰져 있습니다.
    • 사용자 근처의 서버에서 정적 리소스를 제공해 속도를 높이는 것이 목표.

3. 동기화 방식

  • Master-Slave
    • 데이터는 실시간 또는 주기적으로 복제됩니다.
    • 읽기 전용이거나 트랜잭션 처리 시 동기화가 매우 중요합니다.
  • CDN
    • 캐싱된 데이터가 만료되기 전까지는 동기화되지 않으며, TTL(Time to Live) 또는 수동으로 갱신합니다.

📚결론

둘 모두 사용자와 서버의 거리를 단축시켜 더 빠른 응답을 하고, 서버의 부하를 줄여줍니다. Master-Slave 전략은 주로 데이터베이스에서 사용하고, CDN은 웹 콘텐츠를 제공합니다. 이는 웹 서비스 아키텍처에서 다른 부분을 담당하기에 위치상에 가장 큰 차이가 있습니다.

0개의 댓글