본문 바로가기

크루들이 들려주는 카카오페이 오픈소스 kafka 활용법

기업문화

헬로, 페이월드! 저는 카카오페이 PR팀 엘레나에요.
페이월드에서는 카카오페이 크루를 만나 카카오페이의 이야기를 들려드려요.

이번에 만나볼 크루는 오픈소스 운영과 개발을 담당하고 있는 크루들입니다!

 

헬로, 조쉬 & 리나!
오늘은 데브옵스팀 조쉬와 인프라플랫폼팀 리나를 만나보았어요.


조쉬와 리나는 kafka 기술 개발 및 운영을 전담하고 있는데요. kafka가 카카오페이에서 중요도가 높은 기술인 만큼, 클러스터 개발과 관리를 넘어 다양한 방법으로 활용하며 사용성을 확대해나가고 있다고 해요.

카카오페이가 kafka라는 오픈소스를 어떻게 활용하고 있는지 알려드릴게요!

 

 

방대한 사용자 데이터를 보유한 카카오페이의 kafka 활용법 A to Z

kafka라는 오픈소스, 들어보신 적 있나요?


kafka는 링크드인에서 개발한 오픈소스로, 대규모 메시지를 빠르게 처리할 수 있는 분산 스트리밍 메시징 플랫폼이라고 해요. 클러스터링이 되어있기 때문에 안정적인 아키텍쳐를 갖고 있고 확장성도 용이해 이커머스를 포함한 수많은 IT 회사들이 애용하고 있는 기술이래요.

또한, 방대한 데이터를 발행(publish)·구독(subscribe)의 비동기식 전송 방식으로 처리할 수 있고, 발행하는 프로듀서(producer)와 구독하는 컨슈머(consumer)가 독립적이라는 것이 큰 특징이라고 합니다.

kafka는 안정성과 확장성을 모두 겸비하고 있어 3700만 사용자 데이터를 활용하는 카카오페이에게 정말 중요한 플랫폼이라고 해요. 카카오페이는 금융 플랫폼으로서 사용자 중심의 금융 데이터를 보다 더 자유롭고 확장성 있게 활용할 수 있도록 끊임없이 고민하고 있다고 하는데요, kafka는 방대한 사용자 데이터를 더욱 안전하고 자유롭게 확장해나갈 수 있도록 해주어 현재 대부분의 서비스에서 적극적으로 활용되고 있대요.

 

결제, 송금 등 다양한 사용자의 데이터가 생산되면 kafka를 활용해 실시간으로 이를 처리하고, TMS 사용 알림 메시지도 유연하게 처리하고 있다고 합니다.

 

카카오페이는 특별히 kafka 클러스터 이중화를 통해 데이터 유실 없이 안정성을 확보하고 있다고 하는데요. 이는 하나의 kafka가 장애가 나거나 동작하지 않는 상황이 발생해도 복제된 클러스터에서 사용자 데이터를 바로 안정적으로 처리할 수 있기 위함이라고 말했죠.

조쉬와 리나는 인터뷰 중 ‘데이터의 안정성’을 끊임없이 강조했어요. 카카오페이가 사용자 데이터를 얼마나 소중하게 다루고 있는지 느낄 수 있었답니다.

조쉬: “kafka 클러스터 하나가 안정성이 떨어지는 것이 아니에요. 하지만 사용자 데이터 유실의 단 1%의 가능성도 용납할 수 없기 때문에 카카오페이는 클러스터 이중화를 진행하고 있죠.”

 

카카오페이가 kafka를 운영하는 데 있어서 가장 중요하다고 생각하는 것은 무엇일까요?
조쉬와 리나에게 물어보았어요.

리나: “가장 중요한 건 kafka에 대한 기본기죠. kafka 에코시스템에 대한 이해가 가장 중요해요. 그리고 kafka는 메시지 전달의 중간자 역할을 하기 때문에 프로듀서와 컨슈머를 사용하는 개발자들과의 커뮤니케이션도 중요해요.”

조쉬: “맞아요. 그리고 애플리케이션 개발 경험도 꼽고 싶어요. 카카오페이는 kafka 클러스터만 관리하는 것이 아니라 어떻게 하면 조금 더 잘 활용할 수 있을지, 어떻게 하면 서비스 개발팀과 협업을 할 수 있을지도 고민하거든요. 때로 필요에 따라서 에코시스템을 직접 개발하기도 해요. 개발 경험은 단순히 기술에만 매몰되어 있지 않고 개발팀과 협업을 통해 사용성을 높일 수 있는 방법을 생각해내는데 도움을 줘요.”

 

 

결전의 11월 11일, 크루들이 꼽아본 가장 기억에 남는 에피소드는?

11월 11일, 지인들과 빼빼로 주고받으셨나요?

카카오페이 크루들에게 이날은 결전의 날이죠. 빼빼로데이와 광군절을 기념해 선물을 주고받는 수많은 사용자들의 어마어마한 트래픽을 받을 수 있도록 오랜 시간 동안 철저한 준비를 하거든요. 올해도 크루들은 사용자들이 어려움 없이 11월 11일 카카오페이 서비스를 이용할 수 있도록 노력했답니다.

조쉬와 리나도 연초부터 11월 11일을 대비해 kafka 고도화 작업의 일환인 서비스별 kafka 분리 작업을 진행했다고 해요. 오랜 시간에 걸쳐 서비스별 담당 크루들과의 인터뷰부터 서버 구매 및 세팅, 토픽 생성 등을 통해 기존 서비스를 신규 kafka로 옮겨왔대요. 결국 결전의 날에 아무 이슈 없이 이벤트가 끝날 수 있었다고 합니다. 리나는 이날이 kafka 운영을 하면서 가장 기억에 남는 날이었다고 말했죠.

 

리나: “당일 열심히 준비해온 것들을 무탈하게 마무리하면서 정말 뿌듯함이 컸어요. 무엇보다 신규 Kafka 분리 작업을 함께 해주신 관련 크루분들에게 다시 한번 감사함을 꼭 전하고 싶어요. 개발 크루들의 도움 없이는 할 수 없는 작업이거든요.”

 

포스트모템(Postmortem), 시스템을 더 단단하게 만드는 양분

카카오페이의 일하는 방식

실제로 리나의 말처럼 카카오페이 크루들은 적극적이고 열린 마음으로 협업에 임하고 있다고 모두 입을 모아 이야기해요.

 

조쉬: “토론은 정말 치열해요. 물론, 의견이 다를 때도 있지만 가장 적임자가 기술을 선택하는 데에 있어서는 모두가 인정하죠. 서로의 전문성을 존중하는 카카오페이의 중요한 문화인 것 같아요. ”

 

오픈소스를 적극적으로 활용하고 코드 리뷰를 해주는 문화가 대표적인 카카오페이의 개발 문화이지만, 조쉬는 나아가 크루들끼리 새로운 기술을 찾아 같이 토론하며 카카오페이에 적용하고 발전시켜나가는 것도 재미있는 문화 중 하나라고 말했어요. 두려움보다는 안정감을 갖고 새로운 것에 동료들과 도전할 수 있는 것이 카카오페이의 가장 큰 장점이라고 말이죠.

또, 카카오페이는 실패를 해도 누군가를 탓하기보다는 이를 복기하고 재연을 방지할 수 있도록 시스템화하는 ‘포스트모템’을 진행한다고 합니다. 조쉬는 장애를 오픈해서 시스템을 더욱 단단하게 만드는 과정을 서로 믿고 수행할 수 있는 문화라고 강조했어요.

 

 

조쉬, 리나! 마지막으로 미래 카카오페이 크루에게 한 말씀 부탁드려요.

리나: “카카오페이는 기술적으로 원하는 것이 있다면 적극적으로 반영해주는 곳이에요. 그리고 다양한 기술에 대한 새로운 시도를 할 수 있죠. 이 부분이 제가 카카오페이에 오고 싶었던 이유이기도 했고, 실제 와서도 이 부분이 가장 큰 장점이라고 느껴요. 기술에 대한 갈망이 있는 분에게 카카오페이는 최적의 환경이랍니다.”

조쉬: “올해 kafka 운영을 하면서 대규모 트래픽에 대한 안정성 유지를 위해 정말 많은 일을 했어요. 하지만 아직 시작인 것 같아요. 카카오페이는 앞으로도 수많은 오픈소스와 새로운 기술들을 꾸준히 고민하고 시도하면서 도전할 거예요. 이러한 기술적 도전을 함께하면 좋겠어요. (분위기 좋은 건 덤!)”

 

 

다음에 또 만나요, 페이월드!

 

카카오페이와 함께하고 싶다면