본문으로 이동
신뢰성 있는 카프카 애플리케이션을 만드는 3가지 방법 (최원영 Cory)
컨퍼런스

신뢰성 있는 카프카 애플리케이션을 만드는 3가지 방법 (최원영 Cory)

if kakao 카카오 · YouTube

원문 보기

AI 핵심 요약

네트워크 장애와 재시도로 카프카 메시지가 중복되거나 유실될 수 있는 문제를 다루며, 전달 신뢰도를 높이는 세 가지 접근을 설명했습니다. 프로듀서에는 멱등성 설정을 적용하고, 토픽 간 소비·발행에는 트랜잭션과 `read_committed`를 사용하며, 데이터베이스 적재에는 유니크 키·업서트·WAL을 활용합니다. 광고 추천 서비스의 Kafka Streams와 MongoDB 사례에서는 윈도우 키를 이용한 업서트로 중간 결과와 최종 결과를 처리했습니다. 다만 정확히 한 번 처리가 항상 필요한 것은 아니므로 비즈니스 요구사항과 성능, 클러스터·언어별 지원 여부를 먼저 따져야 한다고 강조했습니다.

  • 프로듀서 재전송으로 생기는 중복은 멱등성 프로듀서의 PID와 시퀀스 번호로 방지할 수 있습니다.
  • 토픽 간 처리와 발행을 원자적으로 묶으려면 트랜잭션을 사용하고, 다운스트림 컨슈머는 `read_committed`로 읽어야 합니다.
  • 카프카와 데이터베이스를 하나의 트랜잭션으로 묶기 어려울 때는 유니크 키, 업서트, WAL 방식 중 저장소와 처리 요건에 맞는 방법을 선택합니다.
  • 전달 보장 옵션은 클라이언트 언어와 카프카 클러스터 구성에 따라 지원 범위가 다를 수 있으므로 적용 전에 확인해야 합니다.

소개

[2023.09.14. 제3회 Kakao Tech Meet 발표] 이벤트 드리븐 아키텍처와 스트림 데이터 파이프라인을 만들때 고민해야 하는 부분을 다룹니다. 프로듀서/컨슈머와 같은 카프카 애플리케이션의 전달 신뢰도를 높이기 위해서 적용할 수 있는 기술들에 대해 설명하고 내부적으로 적용했던 경험을 공유합니다. 발표자: 최원영(Cory) 안녕하세요! 광고추천팀 cory입니다. 저서로는 『아파치 카프카 애플리케이션 프로그래밍 with 자바』가 있고, 최근에는 『실시간 데이터 파이프라인 아키텍처』를 번역하였습니다. 개발 기술 및 문화 공유에 도움이 되고자 데브원영 블로그와 유튜브를 운영하고 있습니다. 🔥 데브원영 블로그: https://blog.voidmainvoid.net/ 🔥 데브원영 유튜브: https://www.youtube.com/@DevWonYoung 💬 발표자 인터뷰와 비하인드 보러가기: https://tech.kakao.com/2023/09/22/techmeet...

비슷한 학습 자료

컨퍼런스 if kakao

[2023.09.14. 제3회 Kakao Tech Meet 발표] 대한민국의 전 국민에게 사랑받고 있는 카카오톡이 폭증하는 트래픽을 어떻게 처리하고 있는지에 대해 소개드리고자 합니다. 새해가 될 때나 월드컵 같은 이벤트가 있을 때 카카오톡의 트래픽도 폭증하게 되는데요. 저희 파트가 폭증하는 트래픽에 대응하기 위해 어떤 정책을 만들었는지에 대해 말씀드리고자 합니다. 서버를 개발하고 운영하시는 분이라면 변화무쌍한 트래픽과 무관하게 안정적으로 서비스를 유지하고 싶을 것입니다. 트래픽 처리와 서비스의 안정화에 관심이 많으신 분들이 제 발표를 재미있게 들으실 수 있을 듯 합니다. 발표자: 신성열(Tomo) 카카오의 톡메시징파트에서 메시징서버를 운영 및 개발하고 있는 토모라고 합니다. 최근에는 서버를 코틀린으로 이식하는 프로젝트를 진행 중입니다. 개발 뿐 아니라 여행, 독서 등 인생을 재미있게 사는 데 관심이 많습니다. 💬 발표자 인터뷰와 비하인드 보러가기: https://tech....

백엔드 데브옵스 · 인프라

컨퍼런스 if kakao

Day3 Streaming / if(kakao)2022

컨퍼런스 if kakao

if(kakao)2022 컨퍼런스 Day3 Streaming 를 소개합니다. [ Keynote ] 클레이튼과 블록체인 기술 / 서상민(sam.seo) 크러스트유니버스 Beyond Korea(Company for Global) / 김일두(curtis.adcd) 카카오브레인 [ Preview ] AI / 송근창 (kacey.song) 카카오브레인 블록체인 / 김정현 (colin.klaytn) 크러스트 유니버스 클라우드 / 정진욱 (jake.j) 카카오 백엔드 / 양나은 (sue.anastasis) 카카오모빌리티 빅데이터 / 송대섭 (steven.song) 카카오게임즈 ESG + General / 이민정 (yally.next) 카카오 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao...

컨퍼런스 if kakao

Preview Frontend @if(kakao)2022

컨퍼런스 if kakao

if(kakao)2022 컨퍼런스에서 Frontend 관련 기술 발표 트랙을 소개합니다. 01:28 1. MFA, 누구냐 너: 공통 플랫폼개발 파트의 MFA도입기 by 어호선(sun.kist) 카카오 공통플랫폼개발파트에서 프론트앤드 개발을 담당하고 있는 썬입니다. 01:58 2. 마이크로프론트엔드. 실무에 쓸만할까? by 김수찬(tony.chan) 카카오워크의 관리자 서비스를 개발하고 있습니다. 02:17 3. 웹 반응성 개선하기: Lighthouse Userflow를 사용한 웹 반응성 개선기 by 박은우(ethan.eunwu) 카카오 FE플랫폼팀에서 FE개발자를 위한 개발을 하는 에단입니다. 02:35 4. 카카오페이 프론트엔드 개발팀의 Client Side Rendering 환경 고도화 by 박병현(eric.dev) 카카오페이 FE인프라TF TF장 에릭입니다. 카카오페이 FE 서비스의 근간을 이루는 다양한 환경에 대한 고민을 하고 있습니다. 02:56 5. 광고 웹 ...

프론트엔드

컨퍼런스 if kakao

Preview Mobile @if(kakao)2022

컨퍼런스 if kakao

if(kakao)2022 컨퍼런스에서 Mobile 관련 기술 발표 트랙을 소개합니다. 03:00 1. 다리는 걸을 뿐.. 만보기 서비스 개발기: 만보기 서비스를 개발하면서 겪은 이야기 by 이현재(cado.avo) 항상 성장을 하고픈 iOS 개발자 cado입니다 03:30 2. 카카오페이 iOS 웹뷰 소개 및 리팩토링 이야기 by 윤한울(joey.con) 카카오페이 사용자에게 더 나은 경험을 주고싶은 iOS 개발자 joey입니다. 카카오톡 내의 카카오페이 서비스와 카카오페이 앱을 개발하고 있습니다. 04:13 3. SwiftLayout을 소개합니다.: 선언형 문법으로 가독성 높은 UIKit 코드 작성하기 by 이희종(jay.choi), 최광훈(aiden.h) 저는 카카오톡을 개발하고 있는 iOS 개발자 aiden 입니다 저는 카카오톡을 개발하고 있는 iOS 개발자 jay 입니다 04:40 4. 카카오뱅크 iOS 프로젝트의 모듈화 여정: Tuist를 활용한 모듈 아키텍처 설계...

모바일 앱 개발

컨퍼런스 if kakao

Preview General @if(kakao)2021

컨퍼런스 if kakao

if (kakao) 2021 컨퍼런스에서 기술 관련 General한 발표 세션을 소개합니다. 1. 카카오맵 자전거 내비게이션을 만드는 과정 @kris.shin @rock.rakmin @wade.lim 자전거 내비게이션을 만들게 된 계기와 구현 과정에서 해결해야 했던 과제들 그리고 향후 로드맵에 대해 소개 합니다. 2. 카카오오픈소스팀 이야기 : 오픈소스 관리 OLIVE Platform 개발 사례 공유 @robin.hwang 카카오의 오픈소스 사용 현황, 오픈소스 관리 방법을 공개합니다. 그리고 오픈소스 관리 서비스 Olive Platform 개발 사례 공유를 통해 전반적으로 어떤 오픈소스가 어떻게 사용하고 있는지에 대한 내용들을 공유합니다. 3. 지라 쓰는게 애자일 아니라고 했어 안했어?! @bella.coach 어떻게 하면 회사에서 우리가 함께 영향력 있는 결과를 만들어낼 수 있는지에 관한 이야기 4. 이 멋진 코드에 컨벤션을! : 2달간의 컨벤션 구축 여정 조직 내 ...

개발 도구 애자일 · 협업

컨퍼런스 if kakao

if (kakao) 2021 컨퍼런스의 둘째 날에는 카카오와 9개 공동체 개발자들이 더 나은 세상을 만들기 위한 다양한 기술적 노력과 혁신적 성과을 공유합니다. 본 영상에서는 개발자를 위한 기조연설과 기술 발표 세션, 토크쇼/인터뷰/대담 등 다양한 콘텐츠와 개발자 대상 이벤트 등 총 90여개의 세션과 프로그램을 소개할 예정입니다. 카카오와 공동체 개발자들이 지난 1년간 흘렸던 땀과 노력, 그리고 이뤄낸 기술적 성과들을 한 눈에 확인해주세요! - https://if.kakao.com - 카카오 테크: https://tech.kakao.com/ - 관련 글: https://tech.kakao.com/2021/11/01/ifkakao2021-developers-recap/