고성능

i게이밍에서 카우치베이스가 중요한 이유

그리고 i게이밍 산업 는 경쟁이 치열한 환경입니다, 플레이어를 유지하고 원활한 게임 플레이를 보장하기 위해 고성능의 확장 가능한 백엔드가 필요합니다.. 스포츠 베팅, 온라인 카지노, 포커, e스포츠 등 게임이나 이벤트의 미래 결과에 대한 모든 종류의 온라인 베팅은 i게이밍의 일부로 간주됩니다. 이러한 기업은 예측할 수 없는 대량의 트래픽을 처리하는 동시에 중단 없는 가동 시간을 보장해야 합니다. 사용자 리텐션은 매우 중요하며 성능 문제가 발생하면 플레이어가 이탈할 수 있습니다. 데이터베이스는 성공적인 플랫폼 아키텍처의 근간이지만, 가장 큰 병목 현상이 발생하는 경우가 많습니다. 수백만 명의 사용자를 처리하려면 피크 시간대에 100%의 가동 시간을 유지하여 모든 디바이스에서 사용자에게 반응이 빠르고 개인화된 경험을 제공해야 합니다. 

지연 시간이 짧은 트랜잭션 처리

i게이밍에는 중요 트랜잭션과 중요하지 않은 트랜잭션의 두 가지 유형이 있습니다. 지갑 작업은 특히 카지노 게임플레이의 경우 1초 SLA를 충족해야 하는 중요한 트랜잭션입니다. 스포츠 베팅 결제 거래는 스로틀링할 수 있지만, 카지노 플레이어는 버튼을 누르면 즉시 지갑에서 돈이 차감되는 즉각적인 경험을 기대합니다.

일부 카지노 제공업체는 라운드가 시작되거나 플레이어가 승패할 때 운영자가 직불 및 신용 거래를 처리하기 위해 엄격한 1초 SLA를 시행합니다. 이는 플레이어에게 원활한 게임 플레이 환경을 보장합니다. 이 요건을 충족하지 못하는 트랜잭션은 시간 초과됩니다. 느린 처리는 지연, 플레이어 대기 시간 증가, 열악한 사용자 경험으로 이어져 불만과 잠재적인 플레이어 이탈을 유발합니다. 플레이어는 게임을 플레이하는 동안 원활한 여정이 필요합니다. 그렇지 않으면 플레이어는 플랫폼에 대한 신뢰를 잃게 됩니다.

제 경험에 비추어 볼 때, 피크 시간대에 0.5%의 트랜잭션이라도 시간 초과가 발생하면 고객 지원팀은 플레이어의 불만에 압도되어 플랫폼에 대한 불신과 좌절감을 느끼게 됩니다.

여러 지갑(예: 현금 및 보너스 지갑)에 대한 지갑 처리 시, 상금은 동일한 비율로 차감된 금액에 따라 분배되어야 합니다. 예를 들어, 플레이어가 1 유닛을 베팅하고 이 금액이 현금 지갑에서 20센트, 보너스 지갑에서 80센트가 차감된 경우, 상금은 동일한 비율의 분배를 반영해야 합니다. 즉, 플레이어가 승리하면 상금의 20%가 현금 지갑에, 80%가 보너스 지갑에 적립되어야 합니다.

이러한 유형의 정보는 항상 안정적이고 일관되게 저장되어야 합니다. 카지노 상금은 일반적으로 약 1초 후에 처리되고 전송되기 때문에 결국 일관된 접근 방식만으로는 충분하지 않습니다. 또한, 카지노 제공업체가 중복된 거래를 전송하는 것이 일반적입니다. 따라서 시스템은 이중 처리를 방지하기 위해 이러한 시나리오를 효과적으로 처리할 수 있도록 설계되어야 합니다.

바로 이 지점에서 Couchbase와 같은 NoSQL 데이터베이스의 중요성이 부각됩니다. Couchbase는 모든 데이터를 캐시에 저장한 다음 밀리초 이내에 비동기적으로 디스크에 씁니다. 멀티마스터 아키텍처를 갖춘 Couchbase는 프로덕션 환경에서 MongoDB에 비해 더 높은 성능을 제공합니다. 예를 들어, 3노드 데이터 클러스터가 있는 경우 세 노드 모두 동시에 트랜잭션을 처리할 수 있습니다. 이렇게 하면 지갑 트랜잭션이 훨씬 빠르게 처리되어 사용자가 지갑 잔액을 빠르고 정확하게 확인할 수 있습니다. 따라서 인프라 비용을 줄이면서 전반적으로 사용자 경험을 개선할 수 있습니다.

다운타임 제로

카우치베이스의 주요 장점 중 하나는 다운타임 없이 업데이트와 유지보수를 수행할 수 있다는 점입니다. 이는 사용량이 많지 않은 시간에도 수천 명의 플레이어가 활발하게 플레이하는 i게이밍 플랫폼에 매우 중요한 기능입니다. 멀티 마스터 아키텍처를 통해 한 노드에서 업데이트가 진행되는 동안 다른 마스터 노드에서는 트랜잭션을 원활하게 처리할 수 있습니다. 따라서 플레이어는 중단 없이 계속 플레이하고, 베팅하고, 지갑을 관리할 수 있으며, 항상 원활하고 반응이 빠른 환경을 유지할 수 있습니다.

트랜잭션 쿼리

i게이밍 회사의 경우, 90%의 지갑 거래는 각각 스포츠북과 카지노의 베팅 ID 또는 라운드 ID를 기반으로 하며, 이는 키값 저장에 적합합니다. 나머지 10%의 트랜잭션은 롤백을 포함하므로 트랜잭션 ID로 조회해야 합니다. 이는 Redis와 같은 키-값 저장소에 비해 Couchbase와 같은 문서 지향 데이터베이스에 완벽한 사용 사례가 됩니다. Couchbase를 사용하면 필요에 따라 더 많은 정보를 추가할 수 있습니다. 예를 들어, 스포츠북 베팅에는 최대 20개의 서로 다른 매개변수가 필요한 경우가 있고 카지노 게임에는 각기 다른 유형의 데이터가 연관되어 있습니다.

카우치베이스 카펠라의 멀티마스터 아키텍처를 사용하면 효율적으로 확장하고 더 많은 양의 문서를 처리할 수 있습니다. 3노드 클러스터는 다른 마스터-슬레이브 문서 중심 데이터베이스에 비해 ID별로 상당한 수의 문서를 처리할 수 있습니다. 

피크 트래픽 수준은 피크가 아닌 시간대보다 5배 이상 급증할 수 있으며, 이는 매일 발생할 수 있습니다. 자동 확장은 트래픽이 너무 빠르게 왔다가 사라지는 경우가 많기 때문에 갑작스러운 트래픽 폭증을 처리하는 데 어려움을 겪습니다. 카우치베이스 카펠라는 API를 통해 시간 기반 확장을 구현할 수 있어 예측할 수 없는 트래픽 패턴에서 보다 효율적인 리소스 관리가 가능합니다. 특정 트래픽 수요는 일정하고 예측할 수 있는 반면, 다른 트래픽은 다른 요인에 따라 증가 및 감소하므로 i게이밍 회사는 두 가지 시나리오를 모두 처리할 준비가 되어 있어야 합니다.

결론

전반적으로 분당 2K 요청을 처리할 수 있는 플랫폼을 찾고 있다면 MongoDB가 이를 처리할 수 있습니다. 그러나 솔루션의 미래를 대비하고 분당 3만 건 이상의 요청을 처리할 수 있는 높은 처리량을 목표로 설정하려면 비용, 안정성, 확장성 측면에서 Couchbase를 적극 추천합니다.

사용자 관점에서 제가 주목하는 주요 지표는 분당 처리하는 트랜잭션 수와 감소 여부였습니다. 예를 들어 분당 20,000건의 요청을 처리하던 것이 10,000건으로 떨어졌다면 이는 무언가 문제가 있으며 재정적으로 큰 영향을 미칠 수 있다는 것을 나타냅니다. 대부분 데이터베이스와 관련된 문제였습니다. Couchbase는 낮은 총소유비용으로 훨씬 더 나은 성능, 안정성 및 가용성을 제공합니다.

자세히 보기

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 Keith Azzopardi - CTO, Tassei Tech

i게이밍 업계에서 9년 이상의 경력을 쌓았으며, Right Stakes, Betlic, Moneybase 등에서 기술 리더십을 담당한 Tassei Tech의 CTO입니다.

댓글 남기기

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

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.