텀블러의 검색 아키텍처
텀블러의 검색 쿼리는 하루에 5천만 건 정도입니다. 인프라는 Solr, Redis, MySQL로 구성되어 있습니다.
인덱스는 두 갈래로 나뉩니다. 모든 블로그 포스트의 인덱스는 600대가 넘는 머신에 분산되어 있고, 최근 6주 분량과 최근 4년간의 인기 글, 그리고 태그 테이블은 별도로 40대의 머신에서 처리합니다.
추천에 대한 A/B 테스트의 성공 여부는 follow 비율을 기준으로 판단합니다.
처음에는 Elasticsearch로 시작했다고 합니다. 그런데 Elasticsearch는 클러스터 생성이 블랙박스에 가까웠고, reliability를 위해 SolrCloud로 옮겼습니다. SolrCloud에서는 복제가 샤드의 모든 인덱스를 지연시키는 문제가 있었습니다. 결국 Solr에 커스텀 클러스터링을 얹는 방식으로 최종 구성을 잡았습니다.
https://www.slideshare.net/otisg/search-at-tumblr-nyc-search-meetup