99클럽 32일차 TIL: CDN
2024. 5. 5. 14:17ㆍ개발 공부
728x90
반응형
#1. 오늘의 학습 키워드
CDN 에 대해
- 전에 개발 중인 API 서버에 cache 를 도입하려 Spring 에서 사용 가능한 cache 종류들을 비교하고, 적용하는 글을 포스팅한 적이 있었다.
- cache 종류 비교 및 선정
- redis 적용
- 이번에는 캐시와 그와 관련된 개념들에 관해서 개념적으로 접근하여 공부를 해보겠다.
- 우선, CDN에 관해 알아보자
#2. 공부한 내용
1. CDN
- 사용자의 지리적 위치, 브라우자 출처 및 컨텐츠 전달 서버를 기반으로,
페이지 및 기타 웹 컨텐츠를 사용자에게 전달하는 분산 서버 시스템이다.
- Contents Delivery Network의 약자
- 콘텐츠 전달 네트워크
- 즉 쉽게 말하면, 전세계 곳곳에 사용자가, 똑같은 서비스를 이용하기 위해 같은 위치에 있는 서버를 접근하는 것이 아니라, 각자에게 지리적 위치로 좀 더 가까운 서버로 접근하여 빠르게 컨텐츠를 전달 받기 위해 CDN 이 존재한다.
- CDN은 전세계적으로 분산 된 네트워크다.
- 본래 단일 서버에서 제공되는 컨텐츠들은, CDN 전체에 복제가 된다.
- 따라서 여러 위치에 동시에 존재함.
- 해당 방식을 통해, CDN 은 클라이언트의 컨텐츠로의 접근 속도를 향상시킬 뿐만 아니라, 서버 측으로 몰리는 트래픽을 감소 시켜, 양측 모두에게 성능을 향상 시켜준다.
- 실제로 우리는 CDN과 빈번히 상호 작용을 한다.
- 그러나 원래 서버의 정보와 CDN 의 정보가 동일하여, 사용자로 하여금 자신의 요청이 원본 서버로 접근하는 지, CDN으로 접근하는 지 모르게 하려면 서버와 CDN 간 동기화 작업은 매번 일어나야된다.
1) CDN 작동 방식
- CDN 은 콘텐츠의 복제본을 여러 위치(PoP, Point Of Presence) 에 저장
- 사용자는 지리적으로 가장 가까운 PoP 의 캐싱 서버로 요청.
- CDN은 웹 사이트의 페이지를 지리적으로 서로 다른 위치에 분산 되어있는 서버 네트워크에 복사하여, 페이지 컨텐츠를 캐싱한다.
- 사용자는 CDN의 일부인 웹 페이지를 요청할 때, CDN은 원본 서버에서 사용자에 가장 지리적으로 가까운 CDN 의 서버로 요청을 보내고, 캐시된 컨텐츠를 사용자에게 전달.
2) 장점
- 성능 향상
- 사용자가 더 지리적으로 가까운 캐싱 서버로 접근하여 응답 속도 향상
- 고가용성
- 분산된 서버 네트워크 사용으로 인한 원본 서버 측 트래픽이 해소되어, 서버 장애 및 과부하로 인한 서비스 중단을 방지할 수 있다.
- 보안 강화
- CDN은 보안 기능을 제공하여, 여러 보안 위협으로부터 웹 사이트를 보호할 수 있다.
- 참조:
#3. 오늘의 회고
- 정리:
- CDN은 지리적 위치에 따라 사용자에게 더 빠르게 컨텐츠를 전달하기 위한 분산 서버 시스템이다.
- 실생활에서 우리는 우리도 모른채 항상 CDN과 상호작용을 하고 있었다.
- 그만큼 효과적으로 우리의 콘텐츠로의 빠른 접근의 니즈를 만족 시키는 우수한 캐싱 기법이라고 볼 수 있겠다.
728x90
반응형
'개발 공부' 카테고리의 다른 글
99클럽 34일차 TIL: 개발 방법론 - Agile (0) | 2024.05.07 |
---|---|
99클럽 33일차 TIL: 클라이언트 사이드 캐시 (1) | 2024.05.06 |
99클럽 31일차 TIL: 토큰 인증 (0) | 2024.05.04 |
99클럽 30일차 TIL: Basic 인증 (1) | 2024.05.03 |
99클럽 29일차 TIL: OAuth (0) | 2024.05.02 |