본문으로 이동
MMORPG 실시간 알림 서비스 개발기 feat. Kafka Streams / if(kakaoAI)2024
컨퍼런스

MMORPG 실시간 알림 서비스 개발기 feat. Kafka Streams / if(kakaoAI)2024

if kakao 카카오 · YouTube

원문 보기

AI 핵심 요약

게임마다 알림 기능을 따로 개발하면서 기능과 운영 방식이 파편화되고, 신규 기능을 추가할 때 개발사와 퍼블리셔 간 협의 비용이 커지는 문제가 있었다. 이를 해결하기 위해 통합 Kafka에 쌓이는 게임 로그를 입력으로 삼고, Kafka Streams 기반 Spring 애플리케이션에서 이벤트를 감지하고 게임별 필터 인터페이스로 알림 조건을 확인하는 플랫폼을 만들었다. 알림 발송 시스템은 비동기 API와 요청·처리 모듈 분리로 구성했으며, 푸시 발송과 알림함 저장은 ThreadPoolTaskExecutor를 이용해 독립적으로 처리하도록 했다. 성능 검증에서 로그를 실시간으로 처리하고 정확성을 확인했으며, 플랫폼을 적용해 게임별 알림 조건을 추가하는 방식으로 신규 게임에도 공통 서비스를 제공할 수 있었다.

  • 게임 로그를 이벤트의 공통 입력으로 삼으면 게임 클라이언트에 흩어져 있던 감지·조건 확인 로직을 퍼블리셔 측 플랫폼으로 옮길 수 있다.
  • Kafka Streams의 필터 인터페이스를 게임별로 분리하면 공통 처리 흐름을 유지하면서 게임마다 다른 알림 조건을 추가하기 쉽다.
  • 푸시 발송과 알림함 저장은 별도 작업으로 분리해 한쪽의 실패가 다른 쪽에 영향을 주지 않도록 한다.
  • Spring Batch의 잡 상태 저장이 실시간 처리에 병목이 되자, 별도 큐와 ThreadPoolTaskExecutor를 이용한 스레드 처리로 전환했다.
  • 비동기 API와 요청·처리 모듈 간 디커플링은 요청을 빠르게 반환하고 각 부분을 독립적으로 확장하는 데 유용하다.

소개

게임 로그를 활용한 실시간 알림 서비스에 대한 개발과정을 소개합니다. 알림 서비스를 구축하게 된 계기, 서비스 설계를 하면서 했던 고민들 그리고 그에 대한 답안들을 공유합니다. #알림 서비스 #MMORPG #Kafka #개발기 카카오게임즈에서 퍼블리싱 서비스개발을 담당하고있는 Harrison입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-64 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024

비슷한 학습 자료

컨퍼런스 if kakao

아키텍처 설계부터 릴리즈하며 마주한 문제와 해결 에피소드까지, Kafka 기반으로 지연이체 서비스를 재설계하고 개발한 경험을 소개합니다. #아키텍처 #Kafka 카카오페이 송금 서비스를 개발하는 Elmo입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-85 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024

백엔드 데브옵스 · 인프라

컨퍼런스 if kakao

카카오게임즈 글로벌 플랫폼의 인증과 결제 시스템에 시도되었던 어뷰징들을 탐지하고 차단한 경험을 공유합니다. #글로벌 게임 플랫폼 #인증 어뷰징 차단 #결제 어뷰징 차단 카카오 게임즈에서 빌링 및 플랫폼을 개발하고 있는 Andrew입니다. 카카오 게임즈에서 인증/회원 플랫폼을 개발하고 있는 Khameleon입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-67 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024

백엔드 보안

컨퍼런스 if kakao

게임 리모트 플레이 서비스에 WebRTC 를 도입하게 된 이유와 WebRTC 기반 백엔드 아키텍처 및 프로젝트 진행 중 고민했던 내용에 대해서 공유합니다. #WebRTC 카카오게임즈에서 백엔드 개발자로 일하고 있는 에디입니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-33 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022

백엔드 네트워크

컨퍼런스 if kakao

카카오뱅크의 알림서비스를 소개합니다. 안정적이고 지속가능한 서비스를 위해 뭘 선택했고 그 선택에는 어떤 장단점이 있는지, 더 나아가 그 단점을 보완하는 과정을 알 수 있습니다. #MessageQueue #Scale-out 카카오뱅크에서 서버 개발자로 일하고 있는 mason입니다. 수신/여신/인증 등 다양한 부분에서 개발하고 있으며, 더 나은 코드를 작성하기 위해 노력하고 있습니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-36 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022

백엔드 데이터베이스

컨퍼런스 if kakao

카카오게임즈의 모바일 게임 로그 데이터가 어떻게 생성되고 수집되는지, 이 수집된 데이터를 어떻게 처리하고 활용하는지에 대한 전체적인 과정을 소개합니다. #DataLake 카카오게임즈 BI팀 / DataLake TFT에서 ETL 및 데이터 엔지니어링 업무를 맡고 있는 kyle입니다 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-63 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022

데이터베이스 데브옵스 · 인프라

컨퍼런스 if kakao

카프카는 데이터 흐름을 모아주는 실시간 분산 스트리밍 플랫폼으로 이제는 대다수 기업이 필수적으로 활용하는 오픈소스가 되었습니다. 카카오 전반적인 업무서비스에서 이용하는 카프카 공용 대규모 클러스터를 운영하면서 고려하고 진행했던 것에 대해 공유하고자 합니다. #Kafka #Infrastructure 카카오에서 시스템엔지니어링 업무를 담당하고 있으며, 전사 Kafka 클러스터를 관리하고 있는 데이비스입니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-66 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022

백엔드 데브옵스 · 인프라