본문으로 바로가기
반응형

오늘 회사에서 제가 담당하는 서비스 본부 담당자님이 메신저로 "혹시 지금 서버 무슨 문제 있나요?"라는 내용을 받았습니다.

깜짝 놀라서 서비스 페이지를 접속해보니 로딩이 계속되고 다른 서버에 있는 서비스 페이지도 접속해보니 이미지가 보이지 않았습니다.

서버 담당자님을 통해 문의해보니 "CDN 쪽 문제가 있는거 같아요. 더 확인되면 공유드릴게요."라는 답변을 받았습니다.

또 다른 선임분이 G마켓도 지금 같은 문제 있는 거 같아라는 말에 접속을 해보았는데 css 없이 노출되고 있었습니다.

CDN에 대해 잘 몰라 찾아보았습니다.

 

CDN(Content Delivery Network) 

콘텐츠를 효율적으로 전달하기 위해 여러 노드를 가진 네트워크에 데이터를 저장하여 제공하는 시스템을 말한다.

인터넷 서비스 제공자에 직접 연결되어 데이터를 전송하므로, 콘텐츠 병목을 피할 수 있는 장점이 있다. CDN의 목적은 높은 사용성과 효율로 사용자에게 컨텐츠를 전달함에 있다. 전자상거래 업체와 같은 콘텐츠 제공자는 그들의 컨텐츠를 사용자들에게 전달하기 위해서 CDN 회사에 사용료를 지불한다. 반대로, CDN은 ISP, 이동통신사업자, 그리고 네트워크 사업자들에게 데이터 센터에서의 서버 호스팅 비용을 지불한다. 더 나은 퍼포먼스와 사용성 이외에도 CDN은 컨텐츠 제공자의 서버의 트래픽을 덜어주어 컨텐츠 제공자의 비용을 줄여준다. 추가로, CDN은 대규모 분산 서버 장비로 공격 트래픽을 완화할 수 있으므로 컨텐츠 제공자에게 DoS 공격에 대해서 어느 정도 보호해 줄 수 있다.  <나무위키>

 

https://mygumi.tistory.com/67

제가 이해한 내용은 위 그림은 CDN의 존재 유무

무 - 사용자들이 웹 페이지 접속했을 때 직접 서버를 접속해 해당 CONTENT를 전송받는다.

유 - 사용자들이 인터넷상에서 가장 가까운 곳의 서버로 CONTENT를 전송받는다. (특정 서버에 집중되지 않고 각 서버로 분산되어 병목현상 및 트랙픽을 집중시키지 않게 해 준다.)

 

전체적인 구조

 

 

예시)

jQuery를 서버에 로드시켜 사용하는 방식

<script src="js/vendor/jquery-1.8.2.min.js"><\/script>

CDN 방식

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>

 

CDN에 대해 공부하다 보니 작년 이미지 호출 URL을 변경하라는 연구소 내부 유지보수 작업을 진행한 적이 있습니다.

당시 사용처가 없었기 때문에 자세히 확인해 보진 않았고 다시 해당 이슈를 확인해보니 IDC경로 호출을 CDN경로로 변경하는 건이었습니다. 변경 이유는 접속이 많을 경우에 IDC 경로를 사용하게 되면 이미지 트래픽 구간의 대역폭을 초과해 일부 응답 지연이 발생할 수 있다는 내용이었습니다.

 

위에 jQuery에 두 가지 방식을 비교해 보았을 때 효율적인 방법은 CDN 방식인 거 같습니다.

다만 CDN Server이 성능이 좋고 믿을만한 업체와 작업을 진행하는 전제가 깔려있어야 하는 거 같습니다.

 

<출처1>

반응형