본문 바로가기

대용량 플랫폼

[박혜웅] SNS Platform Infrastructure (e.g. Twitter)

Twitter의 platform 구조를 분석하면서 느낀 점은 어떤 웹 서비스이던지 사용자와 컨텐츠가 많아지면 트위터와 같은 길을 걸어 가야만 한다는 점이다. 따라서 트위터가 왜 그러한 길을 선택했는지 미리 알고 준비한다면, 우리는 많은 시행착오를 줄일 수 있을 것이다.

나도 현재 SNS 개발자로서 사용자 급증에 의한 많은 서비스 오류를 몸으로 느끼고 있는데, 대용량 서비스를 개발하려고 하거나 개발중인 회사들은 미리 대비해서 안정적인 서비스를 운영했으면 좋겠다.
(뭐 국내용 서비스는 대용량은 거의 없을 것이니, 중용량이라고 하는 게 적합하겠지만..)

아래는 구글 검색 및 슬라이드 검색을 통해 트위터 플랫폼에 대한 여러 자료를 학습하면서 정리한 문서이며,

아래는 트위터의 구조를 참고로 하여, SNS에 적합하다고 생각하는 플랫폼 구조이다. 그림을 단순화 하기 위하여, 이중화 구조나 각 Component 들의 내부 구조는 생략했다. 왜 cache가 여러 layer로 되있어야 하는지는 직접 memcached를 써서 서비스해보면 이해할 수 있다. ^^ 
만약 글로벌 서비스라면 RDBMS 대신 Hadoop/HBase, Cassandra, MongoDB와 같은 분산 스토리지를 써야할 것이다.