개발/Backend2 아주대학교 공지사항 크롤러 개발 최근 팀프로젝트를 진행하면서 아주대학교 공지사항을 긁어올 일이 생겼다. 아쉽게도 학교에서 제공해 주는 API가 없어서 직접 크롤러를 만들어서 공지사항을 긁어와야 한다. 코드의 흐름은 다음과 같다 1. 클라이언트가 공지사항 페이지 번호를 url 파라미터에 넣고 서버에 요청 2. 서버는 axios를 이용해 공지사항 html 데이터를 긁어옴 3. cheerio를 이용해 html 파싱 4. 공지사항 타이틀, 생성 날짜, 링크된 url을 json 형태로 클라이언트에 응답 const axios = require('axios'); const cheerio = require('cheerio'); const express = require('express') const app = express() const origin.. 2023. 4. 26. 대용량 트래픽 처리를 위한 6가지 방법 1. 서버의 수평적 확장과 로드 밸런싱 서버를 수평적으로 확장하고 로드 밸런싱을 추가하여 트래픽을 분산시킨다. 2. 캐시 사용 캐시를 적용하여 반복적인 요청을 처리하는 데 필요한 리소스를 줄일 수 있다. 또한 캐싱된 데이터를 사용하면 요청에 대한 응답 시간 또한 단축할 수 있다. 3. CDN(Content Delivery Network) 사용 CDN을 사용해서 콘텐츠를 여러 리전에 분산하여 물리적인 거리를 줄여서 데이터 요청에 대한 응답 속도를 향상 시킬 수 있다. 4. 데이터베이스 최적화 인덱스를 추가하거나 쿼리를 최적화하여 데이터 처리 속도를 향상 시킬 수 있다. 5. DNS 캐싱 서버 사용 DNS 캐싱 서버를 사용하여 DNS 조회 요청을 줄여 응답 시간을 단축시 킬 수 있다. 6. 코드 최적화 코드.. 2023. 3. 29. 이전 1 다음