미분류

카오바베이스가 Draw Something으로 OMGPOP이 모든 기록을 깬 방법

3 분 읽기

가끔씩 큰 무대에서 자신을 증명할 기회가 찾아옵니다. 4주 전에 우리에게 그 기회가 주어졌습니다. Couchbase의 사용자이자 OMGPOP이 출시했습니다. 무언가 그려줘 – 입소문을 타며 폭발적으로 인기를 끌고 있던 픽셔너리(Pictionary) 유사 게임이었다. 전례 없는 성장 기회가 될 이 상황을 활용하기 위해, 그들은 반드시 데이터베이스를 확장(스케일 업/아웃)해야 했다. 타협할 수 없는 두 가지 조건이 있었다. 성능이 유지되어야 하며, 사용자 수와 게임 수가 급증하는 상황에서도 게임이 절대 중단되어서는 안 된다는 것이었다.

역대 가장 빠르게 성장하는 모바일 게임을 지원하기 위해 규모를 확장하는 것은 사소한 일이 아닙니다. 아무것도 없는 상태에서, Draw Something은 급성장했습니다 5천만 건 이상의 다운로드 불과 몇 주 만에 (그리고 여전히 하루에 약 200만 건의 다운로드가 추가되고 있다). 일일 활성 사용자(DAU) 수는 1,500만 명으로, 다음으로 가까운 게임인 '워즈 위드 프렌즈(Words with Friends)'를 단연 압도하고 있다. 수천만 개의 게임이 시작되었다. 20억 장의 그림에 더해 매초 3,000장의 그림이 생성됩니다 이미 생성되어 저장된.

그리고 성장은 멈추지 않았습니다. OMGPOP은 이제 다음을 목표로 하고 있습니다. 1억 건 다운로드.

이러한 성장은 모든 애플리케이션 개발자의 꿈이지만, 확장성을 사전에 계획하지 않으면 개발자에게 최악의 악몽이 될 수 있습니다. 성장하는 게임을 망치는 가장 빠른 방법은 사용자들을 기다리게 하거나, 더 나아가 부하를 감당할 수 있을 때 다시 오라고 말하는 것입니다. EA에 직접 물어보세요.

‘Draw Something’과 거의 같은 시기에 출시된 EA의 ‘심슨 가족: 탭드 아웃’ 역시 엄청난 인기를 끌었습니다. 입소문을 타고 확산되며 3월 초 애플 앱 스토어에서 #2 순위에 올랐으나, 이후 확장성 문제에 직면했습니다. 며칠 만에, 그 게임은 앱스토어에서 내려갔습니다 기존 플레이어들만 게임을 계속 플레이하는 상태로, 몇 주가 지난 지금까지도 그것은 돌아오지 않았습니다.

다행히도 OMGPOP은 확장성을 사전에 계획하여 NoSQL 데이터베이스 주요 데이터 저장 기술로. 그들의 경우, 그들은 사용하고 있었다 카우치베이스 서버, 그리고 모든 것이 순조롭게 진행되고 있었으며, 우리는 카우치베이스가 뒤처져 있다는 사실조차 전혀 눈치채지 못했습니다.

사용자, 게임, 추첨 수가 전례 없는 속도로 증가함에 따라 그들은 클러스터에 용량을 지속적으로 추가할 수 있었고(100대 이상의 서버로 확장됨), 데이터베이스 클러스터 성장을 위한 계획 수립 시 모범 사례를 따르고 있는지 확인하기 위해 우리에게 연락해 왔을 때 비로소 우리는 그들의 성공에서 우리가 담당한 역할을 깨달았습니다., 애플리케이션 성능을 유지하면서 애플리케이션 중단 시간 없이. 하드웨어 결함이 발생하는 상황에서도 성능 저하가 전혀 없었으며, 새로운 플레이어가 파티에 합류하지 못하는 순간은 단 한 번도 발생하지 않았습니다! 어느 시점에는 선택한 하드웨어의 메인보드 문제로 인해 클러스터 구성원들이 무서운 속도로 다운되었습니다. 카우치베이스는 게임 운영이나 성능을 중단시키지 않고 그러한 장애까지도 자연스럽게 처리했습니다.

혁신적인 애플리케이션을 개발하는 것은 물론 OMGPOP과 다른 기업들의 성공의 기반입니다. 히트 소셜 게임의 확장 요구 사항은 대부분의 애플리케이션보다 더 극단적일 수 있지만, 성능을 유지하면서 다운타임 없이 애플리케이션을 쉽게 확장할 수 있는 능력의 중요성은 대부분의 애플리케이션 성공에 매우 중요합니다. 개발자는 앱 자체의 운영을 지원할 뿐만 아니라 쉽게 확장할 수 있는 데이터베이스를 선택하는 것이 중요합니다. 전 세계적으로 큰 성공을 거둔 혁신적인 게임을 개발한 OMGPOP에 축하를 보냅니다. 카우치베이스(Couchbase)가 그 성공에 일조할 수 있어서 기쁩니다.

이 기사 공유하기

작가

밥은 2010년부터 2017년까지 Couchbase의 사장 겸 CEO를 역임했습니다. 2008년 IBM에 인수되기 전까지, 밥은 2,000만 명 이상의 사용자를 보유한 크로스 플랫폼 가상화 분야의 세계적 선도 기업인 Transitive Corporation의 회장, CEO 및 사장을 역임했습니다. 그 이전에는 전자 설계 서비스 분야의 세계적 선도 기업인 탈리티 코퍼레이션(Tality Corporation)의 사장 겸 CEO를 역임했으며, 재임 기간 동안 해당 기업의 매출과 규모는 약 $200백만까지 성장했고 전 세계 직원 수는 1,500명에 달했습니다. Bob은 전자 설계 자동화 기업인 Cadence Design Systems, Inc.에서 여러 임원 및 총괄 관리직을 역임했으며, 1985년 초기 스타트업 단계였던 이 회사에 입사하여 13년 동안 재직하는 동안 매출을 $1.5 billion 이상으로 성장시키는 데 기여했습니다. 또한 밥은 1996년 캐던스에 인수된 성공적인 전자 설계 자동화 스타트업인 하이 레벨 디자인 시스템스(High Level Design Systems)를 이끌기도 했습니다.

15개의 응답

  1. Kinley Dorji 아바타
    킨리 도르지

    멋진데. 자랑할 만한 일이네요.

  2. Artur Tyloch 아바타
    아르투르 틸로흐

    그렇다면 100개의 노드를 사용할 때 초당 몇 개의 문서가 작성되고 읽히나요? 클라우드 환경인가요, 아니면 전용 하드웨어인가요?

    1. $24089596 아바타
      $24089596

      안녕하세요 아르투르 –
      그들은 게임을 지원하기 위해 호스팅 제공업체가 관리하는 전용 하드웨어에서 카우치베이스(Couchbase)를 실행하고 있으며, 초당 평균 약 12만 건의 문서 읽기 및 쓰기를 처리하고 있습니다. 또한 클러스터는 이와 유사한 속도로 데이터를 다중 복제하고 있어(지난 몇 주 동안 많은 하드웨어 장애를 흡수할 수 있었습니다). 감사합니다.
      제임스.

      1. Mark Essel 아바타
        마크 에셀

        몇 가지 (재미있는) 질문들:

        Draw Something으로 OMGPOP이 폐쇄하거나 내린 서버는 몇 대인가요?

        서버 중단(드라이브/서버 장애) 발생률은 어떻게 되나요?.

        그들이 실행 중인 시스템에서 예상되는 하드웨어 고장보다 더 많습니까, 아니면 더 적습니까?

        OMGPOP/Zynga가 이 수준의 호스팅 서비스에 지불하는 비용은 얼마인가요?

  3. Razamataz 아바타
    라자마타즈

    CloudAnt와 같은 완전 관리형 솔루션이 이렇게 반응이 빠를지 궁금합니다.

    이를 쉽게 확장하기 위해 관리자를 고용해야 합니까?.

    완전 호스팅된 솔루션(예: CloudAnt)이 서버 인스턴스를 판매하는 것인지, 아니면 온디맨드로 확장할 수 있는 서버 인프라를 판매하는 것인지 즉시 명확하지 않습니다.

    1. mjphilli 아바타
      mjphilli

      안녕하세요 —
      클라우던트의 제품과 기능에 대한 통찰력을 얻으려면 그들과 이야기해야 합니다. 그들이 그 질문들에 가장 잘 답변할 준비가 되어 있습니다. 카우치베이스는 라이트스케일을 통한 EC2 상의 소프트웨어 호스팅 배포를 지원합니다. 사용하기 매우 쉽습니다. 구글에서 'couchbase and rightscale'을 검색해 보세요.
      제임스.

    2. sbisbee 아바타
      스비즈비

      안녕하세요 라자마타즈,

      Cloudant이나 기타 카우치베이스가 아닌 다른 공급업체에 대해 이야기하기에 가장 좋은 장소는 아니지만, 제기하신 구체적인 질문들에 대해 답변드리겠습니다. 

      – 클라우던트(Cloudant)에도 부하 요구사항 대응과 관련된 유사한 고객 성공 사례가 있습니다.

      데이터 센터에 있든 Cloudant에 있든 상관없이 Cloudant가 모든 것을 관리해 주기 때문에 관리자를 고용할 필요가 없습니다. 여러분은 단지 API와 상호작용하기만 하면 됩니다.

      – Cloudant 클러스터의 노드 수를 조절할 수 있습니다.

      Cloudant에 대해 더 이야기하고 싶으시면 언제든지 연락주세요.

      건배.

  4. screwdisk 아바타
    스크루디스크

    그들도 리밸런스 기능에서 나와 같은 문제를 겪고 있는지 궁금합니다. 그들은 카우치베이스 1.8.x 버전을 사용하고 있나요? 우리는 9개 노드의 AWS 클러스터에서 대략 2억 개의 아이템을 가진 멤베이스 1.7.1을 사용하고 있지만, 리밸런스가 계속 실패하는 치명적인 문제를 겪고 있습니다.

    1. $24089596 아바타
      $24089596

      안녕 스크루디스크 –
      어려움을 겪고 계셔서 유감입니다. 필요한 도움을 받고 계신가요? 이메일로 연락 주시면 저희 지원 리소스와 연결해 드리겠습니다. 제 이메일은 james at couchcbase입니다.
      감사합니다
      제임스.

  5. Steve Tietze 아바타
    스티브 티체

    우리는 다가오는 소셜 게임의 아키텍처 구축을 도와줄 사람을 찾고 있는 중입니다. 하지만 우리 사무실의 그 누구도 사이트를 운영하거나 시간당 수백만 건 이상의 데이터를 처리하고, 다운타임 없이 계속 확장할 수 있는 능력을 갖추는 데 큰 경험이 없습니다. 물론 이는 EA의 경우처럼 그들의 발목을 잡았죠.

    우리는 게임 클라이언트와 JSON 엔드포인트를 통해 통신하며, 많은 데이터를 쓰고 물론 클라이언트 시작 시 해당 데이터를 읽어옵니다. iOS와 Facebook에서 앱이 성장함에 따라 소셜 게임 트래픽을 처리할 수 있어야 합니다. RightScale과 CouchBase 조합은 전담 관리자가 필요 없는 좋은 솔루션인가요? 또한 클라우드(AWS)에서 실행하는 것이 좋나요, 아니면 실제 베어메탈 하드웨어가 좋나요?.

  6. Clinton Mills 아바타
    클린턴 밀스

    그들이 1.8 버전을 사용하는지 2.0 버전을 사용하는지 알고 있나요?

  7. Cory Armbrecht 아바타
    코리 암브레히트

    저는 몽고(Mongo)를 사용해 왔는데, 이 멋진 예제와 같은 특정 프로젝트를 위해 다른 옵션을 찾게 만드는 몇 가지 리포트들을 보게 되었습니다. 추가 조사를 해본 결과, 이것은 정말 멋진 솔루션처럼 들립니다. 저는 Node로 작업하고 있으며, 현재로서는 node-memcached가 유일한 방법인 것 같습니다. memcached를 한 번도 사용해 본 적이 없지만, 바로 적용(drop-in)할 수 있다고 해도, 제가 놓치게 될 중요한 기능들이 있나요?

  8. Matt Ingenthron 아바타
    매트 인겐손

    node-memcached가 오늘날 프로덕션에 적합한 옵션이라는 점은 사실이지만, 저희에게는 libcouchbase 기반의 노드 클라이언트(node client)를 도입하여 진행 중인 프로젝트가 있습니다. 미리보기를 원하시면 Couchbase의 저(matt)에게 이메일을 보내주세요.

    node-memcached를 사용하면 실제로 놓치는 부분이 없을 것입니다. 뷰 REST 인터페이스와 직접 상호작용해야 하지만, 문서화가 잘 되어 있고 단순한 HTTP이므로 node를 사용하면 물론 매우 쉽습니다.

    여기에서 대략적인 아이디어를 볼 수 있습니다:
    https://www.couchbase.com/wiki/...

    … 그리고 기 contributors와 코어 개발자들 사이에서 이메일과 IRC를 통한 논의가 더욱 활발히 이루어지고 있습니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

개발 시작하기

NoSQL을 탐색하고, 리소스를 찾아보고, 튜토리얼을 시작하려면 개발자 포털을 확인하세요.

카펠라 프리 사용하기

단 몇 번의 클릭으로 카우치베이스(Couchbase)를 직접 체험해 보세요. Capella DBaaS는 시작하기 가장 쉽고 빠른 방법입니다.

연락해

Couchbase 제품군에 대해 더 알고 싶으신가요? 저희가 도와드리겠습니다.