포털 메인 페이지가 높은 트래픽을 견디는 방법

유수민·2022년 7월 11일
0

지식창고

목록 보기
23/60

📌네이버 메인 페이지의 분산 처리 기술

📖1. GCDN(Global CDN)

CSS와 JavaScript, 이미지와 같이 공통으로 호출되는 리소스는 한 번 업로드되면 잘 변하지 않는다. 이러한 공통적으로 호출되는 리소스는 부하 분산을 위해 GCDN을 사용한다. CDN 이란 (Content Delivery Network, CDN)로 콘텐츠의 빠르고 효율적인 전송을 돕는 ‘콘텐츠 전송 네트워크’이다. Static Contents에 대해 Web Server가 아닌 CDN을 통해 사용자의 위치와 가까운 곳에 있는 CDN Cache Server에서 데이터를 리턴한다. 즉, 분산되어 있는 캐시 서버에 콘텐츠를 옮겨 두었다가 사용자의 요청이 있을 때 사용자에게서 가장 가까운 서버에서 해당 콘텐츠를 전달하는 것이다.

📖2. SSI(Server Side Includes)

서버에 있는 특정 파일을 읽어오거나 특정 쿠키 유무의 판별 등 간단한 기능을 실행할 수 있다. SSI를 사용해 웹 서버에서 기능을 처리하면 WAS의 부담을 줄여 WAS의 성능에 여유를 줄 수 있게 되고, 웹 서버의 활용도도 높여 서버의 자원을 더 효율적으로 사용할 수 있다. SSI를 사용하면 CGI 프로그램이나 다른 동적인 기술로 페이지 전체를 만들어서 서비스하지 않고도 HTML 페이지에 동적으로 생성한 내용을 추가할 수 있다.

📖3. Apache 커스텀 모듈

커스텀 모듈을 사용하면 SSI를 사용할 때와 마찬가지로 WAS에서 처리할 기능을 웹 서버에서 처리할 수 있어 WAS의 부담을 줄일 수 있다.

단순히 API를 호출하거나 결괏값을 그대로 사용할 수 있을 때에는 WAS를 거치지 않고 커스텀 모듈을 통해 외부 시스템을 호출한다. 모든 WAS가 다운되더라도 웹

서버만 정상이라면 서비스를 제공할 수 있게 커스텀 모듈을 사용해 WAS와 통신한다.

📖4. 마이크로서비스(부분 도입)

  • 서킷 브레이커(circuit breaker)

장애 상황이 계속 될 경우, 외부 서비스에서 데이터를 받아오는 것을 포기하고 대신 서킷 브레이커가 개입해 미리 지정된 응답(단순 실패를 반환할 수도 있고 특정한 값을 반환할 수도 있음)을 반환

  • 서비스 디스커버리(service discovery)

서비스 디스커버리 서버는 각 서버군의 서버 목록을 관리한다. 서비스 디스커버리 서버는 서버군의 서버 목록을 최신으로 갱신하기 때문에, 서버는 재시작 등 외부의 개입이 없어도 자동으로 항상 최신 서버 목록을 확보할 수 있다.

profile
배우는 것이 즐겁다!

0개의 댓글