반응형
◇ 공부 기록용으로 작성하였으니 틀린 점, 피드백 주시면 감사하겠습니다 ◇
CDN (Content Delivery Network)
CDN은 전 세계 사용자에게 빠르고 안전하게 웹 콘텐츠를 전송할 수 있는 기술을 의미한다.
CDN은 전 세계의 서버 위치를 활용하여 트래픽을 효과적으로 관리한다.
💬 CDN 아주 쉬운 예시)
미국의 사용자가 한국에만 있는 웹사이트에 접속하는 경우, 통신 거리가 아주 멀기 때문에 로딩 시간이 오래 걸린다. → 이때 미국의 서버를 빌려서 서버와 미국의 사용자와의 물리적인 거리를 줄여 통신 속도를 빠르게 한다.
아래의 이미지를 보면 쉽게 이해 가능하다.
각 서비스 서버 위치 예시
CloudFlare 서버 위치 | AWS의 Edge Location |
CDN의 활용 사례
전세계 어디서든 접속을 가능하게 하고 싶고, 대용량의 데이터(그래픽, 이미지, 동영상)등의 콘텐츠를 제공한다면 CDN을 이용할 필요가 있다.
그렇기 때문에 요즘에는 CDN을 사용하지 않는 글로벌 서비스를 찾기 어렵다.
- 동영상 스트리밍, OTT 산업: 유튜브(Youtube), 넷플릭스(Netflix), 아마존 프라임(Amazon Prime)
- 음악 스트리밍: 스포티파이(Spotify)
- 온라인 게임: 카카오 게임즈, NC 소프트
- ... etc
CDN이 없는 경우
일반적인 경우)
아래와 같이 서버와 유저가 직접적으로 연결하여 상호작용한다.
문제점)
1. 물리적 거리가 멀면 로딩 시간이 길어질 수 있다.
2. 요청이 많아질 경우 서버의 처리 능력에 한계가 있기 때문에 로딩 시간이 길어지거나 서버가 다운 될 수도 있다.
CDN의 작동방식
CDN의 경우, 엣지 서버가 응답을 대신해 준다.
- 오리진 서버 (Origin Server): 애플리케이션을 실행하고 있는 원본의 서버
- 엣지 서버 (Edge Server): CDN을 위해서 전 세계에 분산되어 있는 서버
CDN 의 역할
CDN의 엣지 서버를 통해 위와 같은 문제를 해결 할 수 있다.
유저와 오리진 서버의 중간에서 엣지 서버가 유저의 응답을 대신해준다.
엣지서버의 캐시
- [요청] 유저 → 엣지 서버 → 오리진 서버,
- [응답] 오리진 서버 → 엣지 서버 (캐시를 저장) → 유저
- [요청] 다른 유저가 같은 콘텐츠를 요청 → 엣지 서버 (캐시)
- [응답] 엣지 서버의 캐시를 전송 → 다른 유저
오리진 서버는 엣지 서버에게 응답하면, 엣지 서버는 받은 콘텐츠를 캐시(Cache)의 형태로 저장한다.
한번 캐시로 저장하면 그 이후로는 캐시로 저장된 콘텐츠를 유저에게 제공한다.
728x90
반응형
'네트워크' 카테고리의 다른 글
NFS란? 쉽게 개념 및 특징 정리 (Feat. SMB란?) (0) | 2024.04.08 |
---|---|
[웹 인증] Cookie, Session, Token 쉽게 개념 및 특징 정리 (쿠키, 세션, 토큰) (0) | 2024.04.05 |
[DNS 네트워크] nslookup 명령어란? 쉽게 개념 정리 (0) | 2024.03.28 |
[CDN 네트워크] Akamai란? 쉽게 개념 정리 (Akamai Technologies, Inc.) (0) | 2024.03.28 |
[네트워크] HTTP와 HTTPS 차이점 및 개념 쉽게 정리 (1) | 2024.03.01 |