2021/12 2

대규모 시스템 설계 기초 - 9. 웹 크롤러 설계

웹 크롤러는 몇 개 웹 페이지에서 시작하여 그 링크를 따라 나가면서 새로운 컨텐츠를 수집한다. 크롤러는 다양하게 이용된다. 검색 엔진 인덱싱 웹 페이지를 모아 검색 엔진을 위한 로컬 인덱스 생성 웹 아카이빙 나중에 사용할 목적으로 장기보관하기 위해 웹에서 정보를 모으는 절차 웹 마이닝 인터넷에서 유용한 자료를 도출 (주주 총회 자료 or 연차 보고서 저장 등) 웹 모니터링 인터넷에서 저작권이나 상표권이 침해되는 사례를 모니터링 웹 크롤러의 기본 알고리즘은 간단하다. URL 집합이 입력으로 주어지면, 해당 URL 들이 가리키는 모든 웹 페이지를 다운로드 한다 다운받은 웹 페이지에서 URL들을 추출한다. 추출된 URL들을 다운로드할 URL 목록에 추가하고 위의 과정을 처음부터 반복한다. 요구사항 정성적 측면..

대규모 시스템 설계 기초 - 8. URL 단축키 설계

bit.ly 를 생각하면 된다. 크게 2가지 기능이 존재함 긴 URL을 넣으면 짧은 URL을 알려준다 (POST) 단축된 URL을 넣으면 원래 URL을 알려준다 (GET) - redirect 기본적인 요구사항 기본 : 높은 가용성, 규모 확장성, 장애 감내 쓰기 연산 트래픽 : 매일 1억건 서비스 유지 기간 : 10년 정도 이를 통해 다음과 같은 조건을 추가로 유추할 수 있다. 초당 쓰기 연산 횟수 : 1160회 (매일 1억건이므로 86400초로 나눔) 읽기 연산을 쓰기 연산의 10배로 가정시 읽기 연산 초당 11600회 TPS 13,000 ~ 14,000 하루 1억건씩 10년이면 총 3650건의 레코드 보관 1레코드 당 100byte 가정시 36.5TB 필요 비즈니스 조건 URL의 길이는 가능한 짧으면..