17 Oct 2020

대용량 트래픽 처리 방식

방법

1. Nginx를 로드밸런스로 사용한다.

2. CDN을 이용해서 정적파일(CSS,js)등의 파일을 캐싱한다.

3. redis같은 인메모리 디비를 이용해 캐시하자


Nginx을 로드밸런서로 활용

nginx를 서버의 앞에 두고 연결한뒤 nginx는 요청을 받아서 WAS에 중계하는 역할을 한다. 요청들을 고르게(Balance)하게 분배해주는 것을 로드밸런서라고 한다.


사용방법

nginx.conf 에 들어가자

http{
    upstream myserver{
        server 127.0.0.1:8080;
        server 127.0.0.1:8081;
        server 127.0.0.1:8082;
    }
    server{
        listen 80;
        location / {
            proxy_pass http://myserver;
        }
    }
}


upstream 만드는법
upstream <업스트림 이름>{
    <로드밸런스 타입: default는 라운드로빈>
    server <host>:<port1>
    ...
    server <host>:<port2>
}

server쪽 만드는법
server{
    ...
    location<url>{
        proxy_pass http://<업스트림이름>
    }
}


CDN 활용

AWS cloudFront활용


redis 활용

  • session은 redis에 저장및 조회

  • 조회빈도가 높고 삭제되도 상관없는 정보등은 redis활용


Tags:
0 comments