[TIL] CDN

oaksusu·2024년 10월 22일
0

TIL

목록 보기
39/41
post-thumbnail

1. 오늘의 질문

웹 애플리케이션에서 Content Delivery Network(CDN)를 사용하여 성능을 최적화하는 방법을 설명하고, CDN이 웹 페이지 로딩 시간과 대역폭에 어떤 영향을 미치는지 설명해주세요. CDN을 사용할 때 발생할 수 있는 잠재적인 문제와 해결하기 위한 방안을 설명해주세요.

2. CDN

: 콘텐츠 전송 네트워크
지리적 제약 없이 전 세계 사용자에게 빠르고 안전하게 콘텐츠를 전송할 수 있는 기술

지리적 제약 없이?

서버와 사용자 사이의 물리적인 거리를 줄여주기 때문에 콘텐츠를 받아오는 시간을 최소화시킬 수 있다.

어떻게 물리적인 거리를 줄여주지?

지역마다 캐시 서버(PoP, Points of presenece)를 분산 배치하고 해당 서버에 근접한 사용자의 요청에 원본 서버가 아닌 캐시 서버(엣지 서버)에 있는 켄텐츠를 전달

cdn을 사용하는 케이스

주로 이미지나 영상과 같이 대용량 파일을 안정적으로 활용하기 위해서 사용

3. 답변

cdn이란 콘텐츠 전송 네트워크로, 전송시간이 오래 걸리거나 대용량의 데이터를 캐시 서버에 분산해놓고 근접한 사용자한테 전송하기 때문에 효율적으로 사용할 수 있습니다.

3-1. 웹 어플리케이션에서 CDN을 통해 성능을 최적화하는 방법

웹 애플리케이션에서는 image, js, video와 같은 파일들을 cdn을 통해 배포하면 성능을 최적화할 수 있습니다.

3-2. 로딩 속도 및 대역폭에 미치는 영향

가장 가까운 캐시 서버로부터 콘텐츠를 받아오기 때문에 로딩 속도는 훨씬 빨라집니다. 또한, 원본 서버가 처리해야할 트랙픽을 CDN 캐시 서버로 분산되기 때문에 트래픽을 분산시킬 수 있습니다. 동일 지역 사용자들에게는 캐시된 콘텐츠를 재사용하기 때문에 캐싱으로 인한 중복 전송도 감소시킬 수 있습니다.

3-3. 잠재적인 문제와 해결 방안

다만, cdn 서버 장애시 서비스가 중단이 될 수 있고 캐시가 최신 상태가 아니면 사용자는 최신 컨텐츠를 받을 수 없다는 잠재적인 문제가 있습니다. 서버 장애에 대한 대안으로는 다중 cdn으로 구성하거나 백업 시스템을 마련하여 웹서버에서 직접 리소스를 받아오도록 설정합니다. 또한, 적절한 캐시 만료 시간을 설정하거나 파일 버전 관리를 통해 갱신합니다.

4. 참고 사이트

가비아-cdn이란

profile
삐약

0개의 댓글