# CDN ### CDN이란? - Contents Delivery Network - 각 지역에 빠른 속도, 안정적으로 컨텐츠를 제공할 수 있는 컨텐츠 전송 기술 - 각 지역에 캐싱 서버를 배치해 사용자의 요청을 원본 서버가 아닌 캐싱 서버로 요청 ### CDN의 역할 - 서버와 클라이언트간에 물리적인 거리를 줄여 컨텐트 로딩에 소요되는 시간을 최소화 - 웹 서버의 트래픽 분산 및 감소 ### CDN 캐싱 방식 종류 #### Static Caching - 사용자의 요청 없어도 Origin Server에 있는 Content를 운영자가 미리 Cache Server에 복사함 - 따라서 사용자가 Cache Server에 접속하여 Content를 요청하면 무조건 그 Content는 Cache Server에 있음(100% Cache Hit) #### Dynamic Caching - 최초 Cache Server에는 Content가 없음 - 사용자 요청시 Cache Server에 없으면(Cache Miss) Origin Server로부터 다운로드 받아 응답 - 이후 동일 Content에 대한 요청은 저장(캐싱)된 Content 응답(Cache Hit) - 각 Content는 일정 시간(TTL)이 지나면 Cache Server에서 삭제될 수 있고 Origin Server에서 Content Freshness 확인 후 계속 가지고 있을 수 있음 ### 오늘케어에 CDN 적용해야 하는가? - 현재 컨텐츠 캐싱, 전진배치가 필요한지는 의문이 들 수 있지만 트래픽의 절반을 CDN으로 넘길 수 있다는 점 또한 무시할 수 없다 생각합니다. - [링크](https://docs.google.com/spreadsheets/d/14MdYMIQs0p9_sIR2ktkRsJmBTiG_UJfe1K1Q-UMZf5U/edit#gid=0)를 들어가보시면 53%의 request가 첨부파일 관련이라는 것을 알 수 있습니다. ### Reference [CDN 동작 원리](https://ijbgo.tistory.com/32) [CDN이란 무엇인가요? - AWS](https://aws.amazon.com/ko/what-is/cdn/) [CDN이란? - 가비아](https://library.gabia.com/contents/infrahosting/8985/) [CDN(Contents Delivery Network) 이란?](https://goddaehee.tistory.com/173)