상세 컨텐츠

본문 제목

[TIL] 2024.03.22 최종프로젝트 기술 스택

[TIL]

by 재호링 2024. 3. 25. 09:38

본문

스크레이핑을 통해 각 응모 페이지들의 데이터를 수집
   - 10 ~ 20개 정도 응모가 가능한 페이지를 리스팅후 분석
   - http패킷 (Network tab)에서 확인 가능
   - get post 메서드를 비교하는게 첫번째 관점
   - 스크레핑 기술은 crontab이나 cron 성격을 가진
     batch system을 활용해서 구현

 

그렇다면 20개 정도의 페이지를 최적화 하는데 필요한 요구 조건은 뭘까?
1개의 페이지마다 3~5초가 걸린다면 20개의 사이트를 스크래핑한다면
100초 이상이 걸림 이 부분을 병렬적 즉 비동기적으로 처리해줘야함
이 부분을 처리할 수 있는 기술 목록으로는 아래와 같다

 

.- promise와 async await

- 노드의 Worker Threads, 큐잉시스템(레디스를 활용하여 구현가능)
- 프로젝트 고도화 시키려면 레디스 필수

 스크레이핑에서 한발 더 나아간 elastic stack 활용
 - elastic stack은 dbms와 차이점은 없는데 검색에 특화된 dbms
 - 즉, 스크레이핑된 데이터를 저장하고, 검색에 특화된 dbms로 활용가능
 - 여기에 logstash 기술을 활용하면 elasticSearch로 전송할 수 있는 데이터
    파이프라인 구축이 가능

 

 docker와 docker compose 활용
 - 웹어플리케이션을 컨테이너화하여 환경 격리 후 배포할 수 있게됨
 - docker compose 사용시 여러개의 도커 컨테이너를 한번에 관리 가능
   즉, elasticSearch, logStash를 함께 관리 가능

관련글 더보기