신뢰성 있는 카프카 애플리케이션을 만드는 3가지 방법 / 제3회 Kakao Tech Meet

9월 14일에 진행한 제3회 Kakao Tech Meet의 발표 영상과 발표자 이야기를 공유합니다.

#kafka, #ExactlyOnceSemantics, #transaction

발표자 Cory.doras(최원영님) 인터뷰

이번 발표를 통해 어떤 이야기를 해주고 싶으셨는지 소개해 주세요! 

  • 광고 스트림 데이터를 다루는 카프카 클라이언트 애플리케이션에 대한 개발 경험과 노하우를 전달하는 자리를 가지고 싶어서 이번 발표를 준비하게 되었습니다. 광고추천팀에서는 최적화된 추천 로직을 위해 실시간 이벤트 데이터를 수집, 분석해야 할 경우가 많습니다. 이런 과정에서 카프카는 반드시 사용되는데요. 카프카는 분산 이벤트 스트리밍 플랫폼으로서 대규모 스트림 이벤트를 분석, 처리하기 적합하기 때문입니다. 이때 많은 개발자들이 어렵고 낯설게 생각하는 카프카의 전달 신뢰성에 대해 다루는 자리를 가지게 되었습니다.

 

어떤 고민과 마음으로 발표를 준비하셨나요?

  • 전달 신뢰성은 정확히 한 번, 적어도 한 번, 최대 한 번 3가지 종류가 있습니다. 이 3가지 종류를 적절히 설명하면서 카프카에서 제공하는 여러 코드와 옵션을 어떻게 전달할지 고민하였습니다. 또한 내부적으로 적용했던 사례도 함께 전달하는 것이 좋다고 판단되어 스마트 메시지 서비스에서 개발했던 코드도 함께 소개하였습니다.
    참가자들이 제 발표를 보고 카프카 클라이언트를 개발할 때 항상 전달 신뢰성에 대해 우선적으로 고민하고 코드를 짰으면 하는 바람을 담아 발표자료를 준비했습니다. 그리고 무조건적인 ‘정확히 한 번’ 달성보다는 비즈니스의 우선순위나 기획상 고객들에게 부여하는 가치에 대해 고민을 하고 개발을 진행하는 것에 대해서도 다루었습니다.
    결과적으로 개발자가 제공하는 가치는 서비스를 사용하는 고객들을 위한 것이므로, 기술적으로 완벽함을 추구하는 것이 실제로 고객에게 좋은 가치를 줄 것인가에 대해서도 고민할 수 있도록 결론을 담았습니다.

행사 당일의 소감이 궁금해요.

  • 생각보다도 더 많은 개발자분들이 오셔서 놀랐습니다. 저녁 7시 퇴근 이후인 데다가 그날 비가 많이 왔음에도 불구하고 많은 분들이 찾아오셔서 정말 감사했습니다. 발표가 끝난 이후에 카프카에 대한 질문이 매우 많았었는데요. 최대한 현업에서 겪는 문제와 해결방법에 대해 자세히 설명드리기 위해 노력했습니다. 한정된 시간 안에 답변을 드리느라 부족한 부분이 많았을 거라 생각되지만, 앞으로도 이런 기회들을 통해 의견을 나눌 수 있을 거라 생각됩니다. 

 

이번 테크밋을 마무리하며, 앞으로의 이야기도 부탁드려요.

  • 광고추천팀에서 다루는 실시간성 데이터의 수집 및 분석은 고객에게 직접적인 영향을 미칩니다. 그렇기 때문에 내부에서도 이 데이터를 어떻게 운영할지 항상 고민하고 토론하고 있습니다. 앞으로도 이런 기회를 통해 카프카뿐만 아니라 여러 기술들을 공유하는 자리를 더 많이 마련해 보도록 하겠습니다. 아무쪼록 이 자리를 만들어 주신 분들과 참가해 주신 온/오프라인 개발자분들 모두 감사드립니다.

발표 영상은 카카오테크 유튜브 채널 (재생목록) 에서도 시청하실 수 있습니다.

📚관련 글 목록:

카카오톡 공유 보내기 버튼

Latest Posts