-
728x90
CDN ( Content Delivery Network )
폭발적으로 증가하는 데이터를 최대한 지연 없이 효율적으로 전달하기 위해서 생긴 기술로써, 지리적인 제약없이 전 세계 사용자에게 빠르고 안전하게 컨텐츠 전송을 할 수 있는 기술이고 이를 통해서 컨텐츠의 병목 현상을 피할 수 있다.
→ 느린 응답속도 / 다운로딩 타임 을 극복하기 위한 기술
한국인에게 꼭 필요한 기술이다CDN의 원리
CDN 없는 경우, 있는 경우 물리적인 제약을 해결하기 위해서 서버를 분산시켜 캐싱해두고 사용자의 컨텐츠 요청이 들어오면 가장 가까운 위치에 존재하는 서버로 매핑 시켜서 요청된 콘텐츠의 캐싱된 내용을 내어주는 방식으로 빠르게 데이터를 전송할 수 있게 된다.
동작 원리
- 최초 요청은 서버로 부터 컨텐츠를 가져와 고객에게 전송하며 동시에 CDN 캐싱장비에 저장한다
- 두번째 이후 모든 요청은 CDN업체에서 지정하는 해당 컨텐츠 만료 시점까지 CDN캐싱장비에 저장된 컨텐츠를 전송한다.
- 자주사용하는 페이지에 한해서 CDN장비에서 캐싱이 되며, 해당 컨텐츠 호출이 없을 경우 주기적으로 삭제된다.
- 서버가 파일을 찾는 데 실패하는 경우 CDN 플랫폼의 다른 서버에서 콘텐츠를 찾아 엔드유저에게 응답을 전송한다.
- 콘텐츠를 사용할 수 없거나 콘텐츠가 오래된 경우, CDN은 서버에 대한 요청을 프록시로 작동하여 향후 요청에 대해 응답할 수 있도록 새로운 콘텐츠를 저장한다.
CDN 캐싱 방법
1) Static Caching
- Origin Server 에 있는 Content를 운영자가 미리 Cache Server에 복사 해두어 사용자가 Cache Server에 Content 요청 시 무조건 Cache Server에 있다
- 대부분의 국내 CDN에서 이 방식 사용
2) Dynamic Caching
- Origin Server 에 있는 Content를 운영자가 미리 Cache Server에 복사하지 않음
- 사용자가 Content 요청 시 해당 Content가 없는 경우 Origin Server로부터 다운 받아서 전달하며, Content가 있는 경우에는 캐싱된 Content 전달
- 각각의 Content는 일정 시간 이후 Cache Server에서 삭제될 수 있다.
CDN 활용 사례
- 온라인 게임의 오픈 베타서비스나 정식서비스 시작 시점에 다운로드 수요가 급격히 증가시 필요
- 대규모 업데이트를 위한 패치가 있을 경우도 필요
- 넷플릭스 등
→ 보통 병목 현상이 발생할거 같은 상황에 CDN 기술이 필요하다
병목 현상 : 병의 목 부분처럼 넓은 길이 갑자기 좁아짐으로써 대표적으로 교통 정체 현상, 컴퓨터 성능 저하 현상같은게 있다
참조
'CS' 카테고리의 다른 글
[CS] 클라우드 (2) 2022.12.27 [CS] 추상클래스, 인터페이스 (0) 2022.12.27 [CS] 메세지 큐 (0) 2022.12.27 [CS] GC 알고리즘 (0) 2022.12.26 [CS] 기술면접 - JVM 메모리 구조 (0) 2022.12.26