압축

해결하고 싶은 문제

웹서버는 동일한 1,000건의 요청에 대해 1,000번 압축한다. 빈번하게 요청되는 웹페이지, API를 압축하여 전송하고 싶지만 지금도 높은 부하가 우려된다.

솔루션/패턴 설명

M2 는 동일한 1,000건의 요청에 대해 최초 1번만 압축하고 TTL 시간동안은 압축된 결과물을 전송한다.

../../_images/dgm014.png

구현

  • 서비스 앞에 M2 를 배치한다. (=HTTP 통신이 가능하다.)

  • 압축기능을 활성화한다.

    # functions.network.http.frontEnd
    
    "compression": {
      "meta": {
        "enable": true
      }
    }
    

장점/효과

  • 한번 요청된 콘텐츠라면 별도의 압축비용 없이 빠른 서비스 제공이 가능하다.

  • bootstrap 등 많이 쓰이는 프론트엔드 콘텐츠를 압축하면 70% 이상의 대역폭 절감효과를 얻을 수 있다.

주의점

이미지, 동영상등은 그 자체가 압축포맷이라 효과를 기대할 수 없다.

기타

원본서버에서 이미 압축된 콘텐츠라면 다시 압축하지 않는다.