본문으로 이동
배민스토어에 최신 기술 한방에 때려넣기: Kotlin, Spring WebFlux, EDA #우아콘2023 #우아한형제들
컨퍼런스

배민스토어에 최신 기술 한방에 때려넣기: Kotlin, Spring WebFlux, EDA #우아콘2023 #우아한형제들

우아콘 2023 우아한형제들 · YouTube

원문 보기

AI 핵심 요약

배민스토어 전시 도메인은 상품·쿠폰·리뷰 등 여러 플랫폼을 동기 호출하면서 생기는 지연과 장애 전파를 줄이기 위해, Kafka 기반 EDA로 데이터를 수집하고 전시 조회에 맞춘 모델을 DynamoDB와 Redis에 적재하도록 재설계했습니다. 이벤트 순서와 데이터 규모에 따라 페이로드를 저장하거나 식별자만 받아 원본을 조회하는 방식을 나눴으며, 이벤트 적체와 누락을 보정하는 운영 과제도 확인했습니다. API에는 Kotlin과 Spring WebFlux를 적용해 외부 호출을 병렬화했고, 발표자는 레이턴시 개선을 관찰했지만 여러 변경을 함께 적용해 기술별 성과를 분리해 측정하지 못한 점을 한계로 꼽았습니다. Kotlin의 확장 함수와 DSL은 코드 안전성과 생산성에 도움이 됐지만, Project Reactor의 학습 부담과 널 처리 문제를 겪으며 기술 선택은 도메인 적합성뿐 아니라 팀의 학습·운영 역량까지 고려해야 한다고 정리했습니다.

  • 이벤트를 도입할 때는 도메인별 이벤트 순서와 페이로드 크기를 고려해 전체 데이터를 저장할지, 식별자만 받아 원본 API를 조회할지 선택해야 합니다.
  • 전시 조회에 맞춘 데이터 모델을 만들고 Redis를 우선 조회하되, 누락 시 DynamoDB로 폴백하는 구조를 구성했습니다.
  • Spring WebFlux와 Project Reactor는 논블로킹·병렬 API 호출에 유용하지만, 연산자 조합과 빈 Mono 처리 규칙을 팀이 익혀야 합니다.
  • Project Reactor의 백프레셔는 대량 데이터 처리와 외부 API 호출 속도 제한이 필요한 배치 작업에서 특히 활용도가 높습니다.
  • Kotlin 확장 함수와 타입 안전 DSL로 반복 로직을 간결하게 만들고, 검색 조건의 오류를 컴파일 시점에 줄일 수 있습니다.

소개

[WOOWACON2023 세션 다시보기] 👉 세션 설명 배민스토어는 올해 4월, 레거시 코드와 아키텍처를 전부 재작성하고 재설계하는 빅뱅을 겪었습니다. 그 과정에서 생산성과 효율성을 높이기 위해 여러 가지 기술을 한 번에 도입했고, 다양한 시행착오를 겪었습니다. 배민스토어의 전시 도메인 개발자들이 어떤 일을 하는지 소개하면서, Kotlin, Spring WebFlux, EDA 도입의 이유와 좋았던 점, 나빴던 점, 그리고 각 기술에 대한 개발자들의 생각까지 날것으로 풀어내 보겠습니다.ㅤ ㅤ 👉 발표자 소개 배민스토어서비스개발팀 김민태 좋은 시스템을 개발해서 밤에 약속을 나가고 싶은 개발자입니다. 배민스토어의 백엔드를 개발하며, 팀에서 광대를 담당하고 있습니다. 배민스토어서비스개발팀 오지산 좋은 코드를 써서 밤에 발 쭉 뻗고 자고 싶은 개발자입니다. 배민스토어의 백엔드를 개발하며, 팀에서 선생님을 담당하고 있습니다. 👍 추천 대상 Kotlin과 Spring WebFl...

비슷한 학습 자료

컨퍼런스 우아콘 2023

[WOOWACON2023 세션 다시보기] 👉 세션 설명 배민상회 7년 차, 빠르게 변화하는 비즈니스와 함께, 오랜 기간 쌓이고 쌓인 레거시 코드. 거대하고 복잡해진 모놀리식 아키텍처를 개선하자는 의견은 비즈니스 과제에 밀려 후순위로 미뤄지기만 했습니다. 아키텍처 개선은 계속 미뤄지고, 빌드 속도는 점점 더 느려지고, 개발자의 생산성은 떨어지고. 악순환의 연속. 더 이상 이렇게 둘 수는 없어! 한 번에 바꿀 수 없다면 조금씩 바꿔보자. 점진적으로 모놀리식 구조에서 도메인을 분리한 과정을 소개합니다, 다른 비즈니스 과제와 병행하면서 말이죠!ㅤ ㅤ 👉 발표자 소개 배민상회개발팀 손민성 배민상회에서 사장님들을 위한 쇼핑몰을 제작하고 있습니다. 개발자의 생산성과 프로덕트의 안정성에 관심이 많으며, 좋은 방향으로 프로덕트를 가꿔나가기 위해 노력하고 있습니다. 배민상회개발팀 윤미현 사장님용 이커머스인 배민상회 서버 개발자입니다. 배민상회 서비스 초기부터 성장을 함께해왔습니다. 당연...

백엔드

컨퍼런스 우아콘 2023

[WOOWACON2023 세션 다시보기] 👉 세션 설명 네! 배민도 React Native 해요! 라이더의 안전한 배달을 위해 쉼없이 달려온 배민커넥트앱의 과거와 현재, 그리고 더 나은 앱을 위한 고민까지. 전사 유일의 React Native 프로덕트를 가꾸어 나가는 웹개발자들의 이야기를 들려드립니다.ㅤ ㅤ 👉 발표자 소개 라이더서비스팀 박지성 배민커넥트앱과, 이를 지탱하는 백오피스들의 프론트엔드 개발을 담당하고 있습니다. 지금처럼, 앞으로도 나보다 더 나은 사람들과 지금보다 더 나은 프로덕트를 만들어나가고 싶습니다. 👍 추천 대상 React Native 개발에 관심이 있거나, 이제 막 React Native 개발을 시작한 웹프론트엔드 개발자 🙋🏻‍♀️ 세션에 대해 궁금한 점이 있다면 dev_relations@woowahan.com 으로 문의주시기 바랍니다.

모바일 앱 개발

컨퍼런스 우아콘 2023

[WOOWACON2023 세션 다시보기] 👉 세션 설명 큰 힘에는 큰 책임이 따르듯, 큰 팀에는 많은 과제들이 있기 마련이죠. 배민커머스웹프론트개발팀 플랫폼 파트의 이야기입니다. 동시에 여러 가지 과제를 수행하는 팀에게 베타 배포 환경 하나는 너무 가혹합니다. 다급한 목소리로 외치는 "베타 배포 지금 이 브랜치로 나가도 되나요?" 소리가 여기까지 들리는군요. 이들을 구하기 위해 멀티버스 구축 여정에 합류한 n개월 차 새내기 개발자는 과연 무엇을 보고 배웠을까요?ㅤ ㅤ 👉 발표자 소개 배민커머스웹프론트개발팀 김요욱보고 배우는 것이 많아서 하루하루가 즐거운 개발자. 좋은 사람들과 일하는 것에 매일 감사한 마음을 가지고 있습니다. 👍 추천 대상 베타 배포 환경이 몇 개만 더 있었으면 좋겠다고 생각해 본 개발자 직접 배포 인프라 작업을 통해서 생산성을 향상시켜 보고 싶은 프론트엔드 개발자 🙋🏻‍♀️ 세션에 대해 궁금한 점이 있다면 dev_relations@woowa...

프론트엔드 데브옵스 · 인프라

컨퍼런스 우아콘 2023

[WOOWACON2023 세션 다시보기] 👉 세션 설명 우아한공방으로 새롭게 단장한 디자인 시스템의 계층 구조와 이를 컴포넌트로 빚어낸 과정을 소개합니다. 그리고 컴포넌트 구현에 집중하기 위해 어떤 개발 환경을 갖췄는지, 운영 과정에서 정답이 없는 문제들을 어떻게 다뤄왔는지 공유드릴게요. 앞으로 더 확장해 나갈 디자인 시스템의 미래도 엿볼 수 있어요. ㅤ 👉 발표자 소개 배민커머스웹프론트개발팀 마광휘 배민커머스웹프론트개발팀에서 23명의 엔지니어가 조화롭게 좋은 프로덕트를 만들 수 있도록 팀 문화 고민과 시스템 아키텍처링을 진행하고 있는 챙김이 입니다. 최근에는 배민 전사의 웹 프론트 미래를 그리고 있어요. 배민커머스웹프론트개발팀 이상현 지속 가능한 디자인 시스템을 만들어나가는 프론트엔드 개발자입니다. 👍 추천 대상 - 사내 디자인 시스템을 운영하는 개발자 - 확장 가능하고 유연한 React UI 컴포넌트 구현에 관심 있는 분 🙋🏻‍♀️ 세션에 대해 궁금한 점이 ...

프론트엔드 UI/UX

컨퍼런스 우아콘 2023

[WOOWACON2023 세션 다시보기] 👉 세션 설명 배달의민족 웹프론트엔드 개발자들의 기술 공유 플랫폼 '우아한스펙트럼'을 소개합니다. 기획부터 서버, DB, 프론트 모두 프론트엔드 개발자 6명이서 만든, 눈물 없이 들을 수 없는 스토리ㅤ 👉 발표자 소개 셀러웹프론트개발팀 송지은 사회생활 3개월 차 리더가 된 프론트엔드 개발자 사실 본업은 사장님을 위해서라면 어디든 달려가는 배민셀프서비스 개발자 👍 추천 대상 - 우아한형제들 웹프론트개발자들의 기술 공유 방식이 궁금한 개발자 - 사내 사이드 프로젝트를 잘 운영하고 싶은 개발자 🙋🏻‍♀️ 세션에 대해 궁금한 점이 있다면 dev_relations@woowahan.com 으로 문의주시기 바랍니다.

프론트엔드 백엔드 풀스택

컨퍼런스 우아콘 2023

[WOOWACON2023 세션 다시보기] 👉 세션 설명 비즈니스는 성장하는데 레거시가 계속 쌓여가고 있지는 않나요? 백엔드 개발 조직이 대규모 프로젝트를 어떻게 진행하는지 궁금하신가요? 배민스토어 서비스를 확장하면서 두 마리 토끼(비즈니스와 기술)를 잡기 위해 고군분투하는 배민스토어서비스개발팀의 에피소드와 그 과정에서 만들어간 팀 문화를 소개합니다.ㅤ 👉 발표자 소개 배민스토어서비스개발팀 박제현 10년 동안 백엔드를 개발해왔고 우아한형제들에서 7년간 다양한 서비스를 만들고 없애(?) 왔습니다. 이제는 팀장 2년 차로 18명의 팀을 이끌며 배민스토어 서비스의 백엔드를 만들고 있습니다. 기술을 활용하여 혁신적인 서비스를 만드는 것을 즐기며, 일을 잘하는 것뿐만 아니라 조직을 성장시키는 것에 관심이 많습니다. 👍 추천 대상 - 대규모 프로젝트를 진행하는 신임 팀장 및 개발자 - 팀 문화에 관심 있는 분 🙋🏻‍♀️ 세션에 대해 궁금한 점이 있다면 dev_relatio...

백엔드 애자일 · 협업