Load Balancing

    [Docker] 컨테이너 기능별, 포트별 분리 (feat. nginx)

    QuantManegement 퀀트 투자의 간편화 quant.or.kr 현재 진행중인 프로젝트 웹 페이지이다. 페이지를 구성하기 위해서는 현재 상장된 약 2400개 기업의 재무제표를 모두 크롤링 해와야 한다. 단순히 빠르게 크롤링 하려면 파이썬의 병렬 스레드나 멀티 프로세싱 기술을 사용해서 크롤링 하면 수십만개의 재무제표를 크롤링 하는데 그리 오랜 시간이 걸리지 않을 것이다. 하지만 크롤링을 하기위해서 접근하는 opendart 페이지와 opendart의 api를 사용하기 위해서는 1분당 접근이 1000회를 넘어가서는 안되며 하루에 10000번으로 접근횟수가 제한되어있다. 따라서 재무제표 크롤링은 시간을 들여야하는 조심스러운 작업이라고 생각했고, 크롤링을 위한 컨테이너를 따로 만들어줘서 안정적인 크롤링 환경..

    [Nginx] ip_hash method 주의사항 (backup X)

    일기식 Nginx.conf 파일에서 upstream server를 정의하는곳에서 발생한 오류이다. upstream quant { # default = round_robbin; # least_conn; ip_hash; server quant_home1:8000; server quant_home2:8001; server quant_home3:8002; server quant_backup:8003 backup; } 현재 진행중인 프로젝트의 서버를 포트 4개로 나눠서 서비스하려고 했다. 3개의 컨테이너는 round-robbin 방식으로 서로 균등하게 부하는 나눠가지는 방법을 선택했고, 만약 모든 컨테이너가 오류가 나서 사용하지 못하는 상황이라면 8003번 포트의 컨테이너를 backup 서버로 지정해 두었기 때문..