[NDC] 소잡는 칼 - Kafka를 이용한 비동기 메시지 시스템 구현 및 활용
NDC 넥슨 · YouTube
AI 핵심 요약
계정 보안 기능을 여러 마이크로서비스로 나누는 과정에서 서비스 간 호출 체인이 길어지고 의존성이 커지는 문제가 생겼습니다. 이를 줄이기 위해 로그인 이벤트를 Kafka 메시지 버스로 전달하고, IP 확인·로그 기록·계정 조치 서비스가 필요한 이벤트를 각각 소비하도록 구성했습니다. Kafka와 클라이언트의 결합은 별도의 퍼블리셔·컨슈머 애플리케이션에 한정했으며, 오프셋을 활용한 보관과 재전달, 설정 변경 자동화도 마련했습니다. 발표자는 이 구조가 서비스 간 결합을 낮추고 병렬 처리와 확장에 유리했지만, 단일 기능만 구현할 때보다 시스템 구축·운영 비용이 커지므로 목적에 맞는 선택이 중요하다고 설명했습니다.
- 서비스 간 결합을 줄이려면 호출 순서보다 이벤트와 데이터 흐름을 중심으로 설계할 수 있습니다.
- Kafka를 직접 노출하기보다 퍼블리셔와 컨슈머를 둬 브로커 의존성을 메시징 서비스 내부에 가두는 방법이 있습니다.
- 소비 대상이 일시적으로 중단될 때를 고려해 오프셋과 재전달 정책을 설계하고, 처리하지 않을 메시지를 구분하는 규칙도 마련해야 합니다.
- 마이크로서비스의 독립성을 유지하려면 서비스별 데이터 소유권과 운영 책임을 분명히 하고, 공유 스토리지는 가급적 피해야 합니다.
소개
NDC 2018 [소잡는 칼 - Kafka를 이용한 비동기 메시지 시스템 구현 및 활용] 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 지두현 2. 발표자 소개 : 라이엇게임즈 코리아에서 계정 및 보안 관련 개발을 담당하고 있습니다. 사용자 중심의 개발과 이를 뒷받침하기 위한 개발과 문화에 대한 공부를 하고 있고, 배운 것들을 실제 현장에 적용하기 위해 노력하고 있습니다. 2016년, 2017년 상반기 진행했던 프로젝트 경험을 토대로 개발의 주류가 되고 있는 마이크로서비스 아키텍쳐와 이를 반영하기 위한 팀의 노력에 대한 경험을 공유하고자 합니다. 특히 단순히 작은 서비스들의 연계가 아닌 Asynchronous한 메시지 중심의 아키텍쳐를 통해, 시스템 및 서비스의 확장성을 담보하기 위한 수단으로 한 예가 될 수 있을 것 같습니다. 3. 세션 소개 : 마이크로서비스 아키텍쳐가 최근 개발의 대세로 자리잡았습니다. 작은 ...
이 자료가 담긴 로드맵
커뮤니티에서 더 보기비슷한 학습 자료
컨퍼런스 NDC
NDC 2018 [로그 파이프라인 제작기 - 개발/런칭하는 서비스들을 위한 적재하고 조회하고 분석하는 솔루션 조립하기] 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 윤주식 2. 발표자 소개 : 넥슨레드의 RF실 부스팅팀 데이터파트에서 로그 시스템 개발을 하고있으며, 현재 라이브 서비스중인 AxE와 포인트블랭크 스트라이크에 도입하여 적재, 조회, 분석 등 다양한 업무를 지원하고 있습니다. 3. 세션 소개 : 운영을 돕고 서비스 분석을 하기 위한 게임 로그, 성능을 모니터하고 개선하기 위한 서버 성능 로그, 개발 과정에서 잡다하게 남겨놓고 필요할 때 찾게되는 디버그 로그 등등.. 게임을 개발하고 서비스 하는 과정에서 발생하는 다양한 로그들을 서버대신 잘 수집하고 모아서 적재하고, 쉽게 찾아보거나 시각화하고, 더 나은 게임을 위해 분석할 수 있는 솔루션을 만들기 위해 했던 고민들을 공유하고자 합니다. 그리고 고민들을 ...
데이터베이스 데브옵스 · 인프라
컨퍼런스 NDC
NDC 2018 ['야생의 땅: 듀랑고'의 데이터 엔지니어링 이야기-로그 시스템 구축 경험 공유] 세션 공유드립니다. 상세 내용은 NDC Replay 홈페이지를 참고 부탁드려요. 😊 1. 발표자 성함 : 전효준 2. 발표자 소개 : 현재 왓 스튜디오에서 '야생의 땅: 듀랑고'의 데이터 엔지니어링을 주로 담당하고 있습니다. 데이터에 관심이 많은 주니어 백엔드 엔지니어입니다. 3. 세션 소개 : 본 발표는 게임플레이 시 발생하는 로그를 수집하고 변환, 적재하고 분석기반을 제공하는 로그 시스템에 대한 '야생의 땅: 듀랑고'의 데이터 엔지니어링 이야기입니다. 듀랑고에서는 게임 플레이 시 수집되는 로그를 통해 다양한 지표를 추출하고, 분석하고, 모니터링하며 데이터 중심적 의사결정을 내리고 있습니다. 이를 위해서는 다양한 형태로 존재하는 대용량의 로그를 수집하고, 잘 활용할 수 있도록 정제하고, 분석할 수 있는 기반을 만드는 것도 중요한 요소로 자리 잡고 있습니다. 그에 따라 높은...
데이터베이스 데브옵스 · 인프라 프로덕트 지표 · 실험
컨퍼런스 엔지니어링데이 2025
서비스 조직에서 Kafka를 사용할 때 알아 두어야 할 것들 (5)
컨퍼런스 엔지니어링데이 2025
네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY 2025 에서 발표되었던 세션을 공개합니다. [발표 내용] Consumer Group Protocol v2를 소개합니다. [발표 대상] 조직에서 Kafka를 사용하거나 관심 있는 분들 Consumer Group Protocol 에 대해 관심 있는 분들 [목차] - Consumer Group Protocol (v1) 특징과 문제점 - Consumer Group Protocol (v2) 특징 - 장점 - 성능 - 사용법 - 설정 - 툴 - 마이그레이션
백엔드 네트워크
컨퍼런스 엔지니어링데이 2025
서비스 조직에서 Kafka를 사용할 때 알아 두어야 할 것들 (5)
컨퍼런스 엔지니어링데이 2025
네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY 2025 에서 발표되었던 세션을 공개합니다. [발표 내용] Consumer Group Protocol v2를 소개합니다. [발표 대상] 조직에서 Kafka를 사용하거나 관심 있는 분들 Consumer Group Protocol 에 대해 관심 있는 분들 [목차] - Consumer Group Protocol (v1) 특징과 문제점 - Consumer Group Protocol (v2) 특징 - 장점 - 성능 - 사용법 - 설정 - 툴 - 마이그레이션
백엔드 네트워크
컨퍼런스 엔지니어링데이 2025
서비스 조직에서 Kafka를 사용할 때 알아 두어야 할 것들 (4)
컨퍼런스 엔지니어링데이 2025
네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY에서 발표되었던 세션을 공개합니다. 1,2편의 경우 아쉽게도 사내용만 발표되어 3,4편 만 외부공개가 진행되는 점 양해 부탁드립니다. [발표 내용] Kafka 프로듀서 최적화하기 + 압축 기능 활용하기 [목차] 1. 배경: Kafka 자료 구조 - Kafka 자료 구조는 어떻게 생겼는가? 2. 프로듀서 동작 방식 및 최적화 방법 - 프로듀서와 브로커는 어떻게 메시지를 주고받는가? - linger.ms, batch.size, buffer.memory 사용법 3. 압축 동작 방식 및 최적화 방법 - (재)압축은 어떻게 이루어지는가? - compression.type, compression.{type}.level 사용법
백엔드 네트워크 로드맵 1개에 담김
컨퍼런스 엔지니어링데이 2025
서비스 조직에서 Kafka를 사용할 때 알아 두어야 할 것들 (3)
컨퍼런스 엔지니어링데이 2025
네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY에서 발표되었던 세션을 공개합니다. 1,2편의 경우 아쉽게도 사내용만 발표되어 3,4편 만 외부공개가 진행되는 점 양해 부탁드립니다. [발표 내용] Kafka Client는 어떻게 클러스터의 전체 상태를 알 수 있는가? 서비스를 개발하는 입장에서 관련 옵션을 어떻게 잡아 주면 좋은가? 에 대해 설명합니다. [목차] * Kafka metadata란 무엇인가? * 동작 매커니즘 - 브로커 - 클라이언트 간 metadata 교환 - 브로커 간 metadata 교환 * 결론 - ... 그리고 하나 더
백엔드 네트워크