초 당 400만이 넘는 프로필 조회를 견디는 LinkedIn 서비스 구조

LinkedIn에서 약 10억 명 가까운 사용자 프로필이 초당 400만 번 이상 조회된다고 한다. 이 큰 규모의 사용량을 견뎌내기 위해 LinkedIn 개발팀은 어떤 작업이 필요했을까? → 초기 LinkedIn은 Oracle Database와 Memcached을 사용한 캐쉬 레이어를 구축한 일반적인 서비스 스택을 구성했다. → 서비스가 커짐에 따라 Oracle Database의 단점들(라이선스 비용, 확장성 제한, 유지보수 어려움)이 드러나기 시작했고, Memcached 클러스터 역시 투자 대비 성능을 제대로 발휘하지 못했다. → LinkedIn 개발팀은 2010년 초에 유행한 NoSQL 흐름에따라 Expresso NoSQL Database를 자체 개발하여 LinkedIn 내부 서비스들의 DB로 사용하기 시작했다. Expresso는 Memcached와 같은 캐싱 레이어를 따로 구축하지 않아도 범위성과 성능 요구 사항을 모두 충족시킬 수 있었다. → 수년 동안 Expresso를 기반으로 한 프로필 조회 서비스는 LinkedIn과 함께 폭발적인 성장을 이뤄냈다. → 하지만 Expresso도 초당 100만 번을 넘어갈때 쯤 성능 문제가 생기기 시작했다. 개발팀은 다시 한 번 캐시 레이어를 고려해보기로 한다. → LinkedIn 개발팀은 Couchbase를 사용하여 성능을 개선하는 성공 사례가 이미 여러 개 있었다. 프로필 조회 서비스 개발팀은 Expresso 시스템에 Couchbase 기반의 캐싱 레이어를 포함한 시스템을 설계에 도전한다. → 이미 복잡한 시스템에 내포된 커스텀 캐싱 솔루션으로 인해 어려운 문제들을 해결해야 했다. Couchbase 시스템의 효과적인 모니터링이 필요했고, 무효한 캐쉬데이터를 재때 재거할 있도록 System Change Number (SCN)을 함께 저장하는 등 시스템에 많은 새로운 요소들이 필요했다. → 결과적으로 Expresso + Couchbase를 함께 사용한 서비스는 99백분위수 기준으로 60% 이상의 성능 개선이 있었고, 99% 이상의 캐시 히트 비율 덕분에 전체 서비스 비용을 10% 절감할 수 있었다. 무었보다 새로운 시스템은 앞으로 몇 년간의 성장을 충분히 견뎌낼 수 있을거라 개발팀은 예상한다고. https://engineering.linkedin.com/blog/2023/upscaling-profile-datastore-while-reducing-costs https://engineering.linkedin.com/espresso/introducing-espresso-linkedins-hot-new-distributed-document-store

Upscaling LinkedIn's Profile Datastore While Reducing Costs

Linkedin

Upscaling LinkedIn's Profile Datastore While Reducing Costs

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 7월 8일 오전 3:26

 • 

저장 199조회 8,919

댓글 0

    함께 읽은 게시물

    📰 OpenAI가 ChatGPT의 커넥터 기능을 업데이트하면서 MCP 지원을 추가했네요.

    ... 더 보기

    [광고] 다음 직무 채용 예정입니다.


    - 프러덕트/사업 기획 1인

    - 프러덕트 디자인 1인

    ... 더 보기

    "누가 왜 그렇게 하자고 했어요?"

    P

    ... 더 보기

    누가 왜 그렇게 하자고 했어요?

    Brunch Story

    누가 왜 그렇게 하자고 했어요?

    비개발자도 Cursor AI로 결제 가능한 웹 서비스 만들기 🚀

    6

    ... 더 보기

    비개발자도 Cursor AI로 결제 가능한 웹 서비스 만들기 🚀 (6차. 25.06.21, 25.06.28) - Learning by Doing

    Latpeed

    비개발자도 Cursor AI로 결제 가능한 웹 서비스 만들기 🚀 (6차. 25.06.21, 25.06.28) - Learning by Doing


    하나부터 열까지 리더가 상세히 설명해 주기를 바라는 구성원이 있습니다. 반대로 큰 얼개만 듣고 나머지는 자율적으로 하고 싶어 하는 경우도 있죠. 회식에 참여하는 것을 너무나 힘겨워 하는 구성원이 있는 반면, 동료들과 함께 시간을 보내며 가까워지는 것을 원하는 구성원도 있습니다.

    ... 더 보기

    다양한 구성원을 하나로 모으고 싶다면 - 리더가 가져야 할 모순

    네이버 블로그 | HSG 휴먼솔루션그룹

    다양한 구성원을 하나로 모으고 싶다면 - 리더가 가져야 할 모순

     • 

    저장 5 • 조회 669