본문으로 이동
[NDC21-프로그래밍] 〈쿠키런: 킹덤〉 서버 아키텍처 뜯어먹기!
컨퍼런스

[NDC21-프로그래밍] 〈쿠키런: 킹덤〉 서버 아키텍처 뜯어먹기!

NDC 넥슨 · YouTube

원문 보기

AI 핵심 요약

글로벌 원 서버인 쿠키런: 킹덤의 서버 부하와 복잡한 유저 상태를 다루기 위해, 데브시스터즈는 Akka Cluster의 액터 모델로 분산 상태 서버를 구성했다. 액터 상태는 이벤트와 스냅샷을 저장하는 이벤트 소싱으로 관리하고, Scala 기반의 순수 함수형 콘텐츠 로직으로 게임 규칙과 부수 효과를 분리했다. 친구 요청처럼 여러 유저 상태를 함께 바꾸는 기능에는 CockroachDB의 분산 트랜잭션을 활용한 2PC를 적용했으며, 조회·매치메이킹·글로벌 메시지는 Kafka 이벤트 기반으로 액터와 별도 컴포넌트를 연결했다. 각 기술은 모든 문제에 일괄 적용하기보다 요구사항에 맞춰 선택해야 하며, 특히 클러스터 운영과 이벤트 중복 처리, 강한 일관성이 필요한 기능의 설계를 주의해야 한다고 설명했다.

  • 액터는 유저처럼 독립적으로 상태를 소유하는 단위로 모델링하고, 모든 도메인 객체를 억지로 액터로 만들지는 않는다.
  • 이벤트 소싱에서는 이벤트 재생 비용을 줄이기 위해 스냅샷을 함께 저장하며, 스냅샷 주기는 실제 부하와 운영 결과를 보고 조정한다.
  • 콘텐츠 로직을 순수 함수로 분리하면 외부 I/O 없이 테스트할 수 있고, 부수 효과는 로직 실행 이후 별도로 처리할 수 있다.
  • 여러 액터의 상태를 함께 바꿔야 할 때는 일관성 요구와 데이터베이스의 분산 트랜잭션 지원 여부를 고려해 접근법을 선택한다.
  • 이벤트 기반 통신은 컴포넌트 간 결합을 낮추지만, 중복 전달을 전제로 멱등성을 확보하고 지연이 허용되는 기능에 적용해야 한다.

소개

● 설문조사: https://forms.gle/ZmmrH6TEtZ3567aW8 ↓ 아래를 펼쳐, 세션 상세정보를 확인하세요! ● 발표분야: 프로그래밍 ● 발표자: 데브시스터즈 권태국 ● 권장 대상: 서버 엔지니어 ● 키워드: #쿠키런킹덤 #서버아키텍처 #이벤트소싱 본 NDC 발표 동영상(이하 “저작물”이라 합니다)에 대한 저작권 (2차적저작물작성권 및 편집저작물작성권 포함)은 해당 저작물의 저작자(발표자 포함) 또는 (주)넥슨코리아 (이하 “권리자”라 합니다)에게 귀속되며, 권리자의 허락 없이 이를 상업적으로 이용하거나 무단으로 도용, 편집, 2차적저작물을 작성, 공중송신, 배포할 수 없습니다.

비슷한 학습 자료

컨퍼런스 NDC

↓ 아래를 펼쳐, 세션 상세정보를 확인하세요! ● 발표분야: IP, 게임기획 ● 발표자: 데브시스터즈 김이환 ● 키워드: #위기 #고뇌 #도약 본 NDC 발표 동영상(이하 “저작물”이라 합니다)에 대한 저작권 (2차적저작물작성권 및 편집저작물작성권 포함)은 해당 저작물의 저작자(발표자 포함) 또는 (주)넥슨코리아 (이하 “권리자”라 합니다)에게 귀속되며, 권리자의 허락 없이 이를 상업적으로 이용하거나 무단으로 도용, 편집, 2차적저작물을 작성, 공중송신, 배포할 수 없습니다.

컨퍼런스 NDC

↓ 아래를 펼쳐, 세션 상세정보를 확인하세요! ● 발표분야: 프로그래밍 ● 발표자: 넥슨게임즈 장성재 ● 키워드: #NDC25 #게임서버개발 #GameServerDevelopment 본 NDC 발표 동영상(이하 “저작물”이라 합니다)에 대한 저작권 (2차적저작물작성권 및 편집저작물작성권 포함)은 해당 저작물의 저작자(발표자 포함) 또는 (주)넥슨코리아 (이하 “권리자”라 합니다)에게 귀속되며, 권리자의 허락 없이 이를 상업적으로 이용하거나 무단으로 도용, 편집, 2차적저작물을 작성, 공중송신, 배포할 수 없습니다.

백엔드 데브옵스 · 인프라

컨퍼런스 NDC

● 설문조사: https://ko.surveymonkey.com/r/S7J3Q6V ↓ 아래를 펼쳐, 세션 상세정보를 확인하세요! ● 발표분야: 프로그래밍 ● 발표자: 데브시스터즈 이창원, 박새미 / DEVSISTERS Changwon Lee, Saemi Park ● 권장 대상: 서버 엔지니어, 데브옵스 엔지니어 ● 키워드: #쿠키런킹덤 #포스트모템 #CockroachDB

데이터베이스

컨퍼런스 NDC

● 설문조사: https://forms.gle/CkJmkGcETUnxrESc6 ↓ 아래를 펼쳐, 세션 상세정보를 확인하세요! ● 발표분야: 데이터분석 ● 발표자: 고려대학교 정보보호대학원 김휘강 ● 권장 대상: 데이터 분석가, 게임보안분야 업무담당자 ● 키워드: #게임이용자 행위 분석(악성 유저 포함) #사설서버탐지 본 NDC 발표 동영상(이하 “저작물”이라 합니다)에 대한 저작권 (2차적저작물작성권 및 편집저작물작성권 포함)은 해당 저작물의 저작자(발표자 포함) 또는 (주)넥슨코리아 (이하 “권리자”라 합니다)에게 귀속되며, 권리자의 허락 없이 이를 상업적으로 이용하거나 무단으로 도용, 편집, 2차적저작물을 작성, 공중송신, 배포할 수 없습니다.

보안

컨퍼런스 NDC

● 설문조사: https://forms.gle/fQp2bW5VrSQGTSaR9 ↓ 아래를 펼쳐, 세션 상세정보를 확인하세요! ● 발표분야: 프로그래밍 ● 발표자: 데브시스터즈 용찬호 ● 권장 대상: 서버 프로그래머, DevOps 및 인프라 엔지니어 ● 키워드: #클라우드 #쿠버네티스 본 NDC 발표 동영상(이하 “저작물”이라 합니다)에 대한 저작권 (2차적저작물작성권 및 편집저작물작성권 포함)은 해당 저작물의 저작자(발표자 포함) 또는 (주)넥슨코리아 (이하 “권리자”라 합니다)에게 귀속되며, 권리자의 허락 없이 이를 상업적으로 이용하거나 무단으로 도용, 편집, 2차적저작물을 작성, 공중송신, 배포할 수 없습니다.

데브옵스 · 인프라

컨퍼런스 NDC

● 설문조사: https://forms.gle/HQDNExZhWVYNjZUH7 ↓ 아래를 펼쳐, 세션 상세정보를 확인하세요! ● 발표분야: 프로덕션&운영 ● 발표자: 데브시스터즈 조길현/이은지 ● 권장 대상: 〈쿠키런: 킹덤〉에 관심이 있는 분들이라면 누구나 ● 키워드: #쿠키런킹덤 본 NDC 발표 동영상(이하 “저작물”이라 합니다)에 대한 저작권 (2차적저작물작성권 및 편집저작물작성권 포함)은 해당 저작물의 저작자(발표자 포함) 또는 (주)넥슨코리아 (이하 “권리자”라 합니다)에게 귀속되며, 권리자의 허락 없이 이를 상업적으로 이용하거나 무단으로 도용, 편집, 2차적저작물을 작성, 공중송신, 배포할 수 없습니다.