본문 바로가기

카테고리 없음

(Jquery)CDN 사용시 고려사항

JQuery CDN은 Content Delivery Network의 약자로써 온라인으로 관련 Contents를 전송받아 사용하는 기술입니다.

 

JQuery CDN 방식의 장점은 Script Loading이 빠르고, 외부 Web Server에서 관련 Library를 다운받기 때문에 운영서버에 다운로드를 위한 Bandwidth 비용이 들지 않는 장점이 있습니다.

 

하지만 아래와 같은 부분이 고려 되어야 합니다.

 

<<고려할 점>>

1. CDN Server 다운시 페이지 타임아웃 처리됨 

   => Local 운영서버에서 다운로드하도록 할 수 있고, CNS 서버 연결 주소의 모든 서버가         다운(Service Fail)될 확률은 희박하지만, Server down의 가능성은 존재함.

2. 해당 서버가 해킹되면, 같이 해킹 될 수 있음.

3. 일반적으로 Contents의 로딩속도는 빠르나, CDN 서버(CDNs) 부하시 성능에 문제      가능

4. Paging Loading 시간이 CDNs에 의존적이기 때문에 일관적이지 않음

  => 시스템 성능과 용량 산정의 어려움이 있음. 시스템의 가용성을 고려해서 현재의     애플리케이션의 성능이 최대의 효율을 가지도록 설정하고, 한정된 자원에서는 성능     개선의 한계가 있으므로, 사용량 증가에 따른 용량 산정이 필요합니다.

5. 만약 버젼을 업그레이드 할 경우, 관련 소스 전체를 수정해야 합니다.

   => CDN 참조 정보를 Property로 관리하도록 해서 버전 관리 가능합니다. 물론 버전을 업그레이드 전에 영향도 분석과 테스트를 진행하여야 합니다.

6. 내부망 시스템의 경우, 외부 URL 참조를 위한 예외 처리 필요

  => 내부 시스템의 경우 보안을 위한 Network 망을 물리적, 논리적 분리하는 것이 추   세입니다. CDN을 사용할 경우 내부시스템에서 외부서버에 대한 참조가 필요하게 됩니다. 물론 애플리케이션 구조상 DMZ2 구간(Web server) 구간에서만 참조한다면     보안요건에 충족하면서 참조가 가능합니다.

 

문제점이 크지 않아도 편리함보다는 안정성에 초점을 맞추는 것이 좋습니다.

또한, JQuery 사용시에도 Version 정보를 시스템 프로퍼티로 관리해서, 버전을 관리할 수 있도록 하면 version 변경시 유연하게 적용 가능합니다.

 

System Property 사용방법

%@ page import="com.test.config.MyProperties" %>        //AsianPlatformProperties 파일 import
<%
        MyProperties ap = MyProperties.getInstance();
String strJqueryVer = ap.getProperty("jquery.version");
String strJqueryUiVer = ap.getProperty("jquery.ui.version");
String strJqueryCssVer = ap.getProperty("jquery.ui.css.version");
%>


java script 선언부에 해당 version 정보를 사용하시면 됩니다.
<head>
<script src="/Web/script/lib/jquery-ui.<%=strJqueryUiVer%>.js"></script>
</head>