architecture

DB/Redis

[Redis] Lists를 사용한 SNS 타임라인 캐싱

배경SNS 서비스를 개발하다 보면 피드 또는 타임라인 기능은 필수적입니다. 저희 Film it을 개발하면서도 다른 SNS(인스타그램, 페이스북, 트위터, 링크드인 등)처럼 사용자에게 실시간으로 업데이트되는 타임라인을 제공하기 위해 다양한 고민을 했습니다.   문제점기존의 Pull 모델에서는 사용자가 타임라인을 요청할 때마다 실시간으로 데이터베이스에서 필요한 정보를 가져와서 조합합니다. 이 방식은 구현이 비교적 간단하지만, 요청할 때마다 사용자의 모든 팔로잉의 새로운 계시물들을 가져와서 타임라인을 조합해야 하기 때문에, 팔로잉수가 많아질 수록 타임라인을 만드는 시간이 계속해서 늘어날 수 있다고 판단하였습니다.이를 해결하기 위해, 고민했던 방법들과 과정에 대해서 설명하겠습니다. Push 모델   앞선 문..

jinbeomk
'architecture' 태그의 글 목록