본문으로 이동
BROS(배달시스템)의 레거시 시스템 개선하기: 스파게티 코드에서 알덴테까지 #우아콘2025 #우아한형제들
컨퍼런스

BROS(배달시스템)의 레거시 시스템 개선하기: 스파게티 코드에서 알덴테까지 #우아콘2025 #우아한형제들

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

원문 보기

AI 핵심 요약

10년 가까이 운영된 BROS는 거대한 모놀리식 구조와 여러 팀이 공유하는 공통 모듈, 복잡한 이벤트 리스너 때문에 개발 비용과 DB 부하, 장애 위험이 커지고 있었습니다. 배달팀과 라이더팀은 공통 모듈의 기능을 도메인별로 나누고, 배달 서버와 메신저 서버로 역할을 옮겼으며, 애플리케이션 이벤트 리스너를 정리하고 라이더 API의 쿼리와 트랜잭션 범위를 개선했습니다. 피처 플래그를 통한 점진 배포와 JSON 응답 비교 도구로 변경 위험을 낮췄고, 테스트 커버리지와 코드 복잡도를 개선하는 한편 라이더 DB 부하도 줄였습니다. 큰 시스템의 리팩터링은 한 번에 완성하려 하기보다 작은 단위로 배포하고, 상황에 맞춰 목표와 우선순위를 계속 조정하는 것이 중요하다는 경험을 공유했습니다.

  • 공통 모듈을 담당 도메인별로 분류한 뒤, 서버 간 의존성과 역할을 단계적으로 정리하세요.
  • 복잡한 이벤트 리스너는 사용 여부와 대체 경로를 확인하고, 비즈니스 로직을 도메인에 옮긴 뒤 직접 호출로 단순화할 수 있습니다.
  • DB 부하를 줄일 때는 불필요한 쿼리와 단계를 제거하고, 외부 API 호출 구간에서 트랜잭션이 유지되지 않도록 범위를 좁히세요.
  • 피처 플래그를 이용해 변경 사항을 작은 트래픽부터 점진적으로 적용하고, 실패 시 기존 로직으로 되돌릴 수 있게 하세요.
  • 리팩터링 범위가 커질수록 완벽한 재설계보다 우선순위를 반복해서 조정하고, 테스트와 가독성 기준을 팀이 함께 합의하는 것이 중요합니다.

소개

[세션 설명] BROS는 10년 가까이 유지·보수되어 온 배달 처리 시스템입니다. 배달(OD, Own Delivery) 건수가 계속 증가함에 따라 시스템 안정성과 개발 생산성을 높이기 위해 ‘baeminz 도메인 정리’ 프로젝트를 진행했고, 이를 통해 얻은 성과와 경험을 공유합니다. 현 시스템의 문제를 해결하기 위해 어떤 전략을 세웠는지, 기존과 새로운 아키텍처는 어떻게 달라졌는지, 그리고 고민 끝에 도달한 결론과 다양한 안정성 장치들을 소개합니다. 프로젝트 완료 후 얻은 성과와 향후 개선 방향도 함께 나눕니다. [발표자 소개] 박민철(서버 개발자)

이 자료가 담긴 로드맵

커뮤니티에서 더 보기

비슷한 학습 자료

컨퍼런스 우아콘 2025

[세션 설명] 배민 2.0, 근본적인 가치를 다지고 더 큰 변화를 향해 나아가는 기술적 도전을 이야기합니다. 기술로 생활을 바꾸고, 이해관계자 모두와 상생하며 미래를 만들어가는 우아한형제들의 새로운 여정에 여러분을 초대합니다. [발표자 소개] 김범석(CEO), 고명석(CTO)

컨퍼런스 우아콘 2025

[세션 설명] 장보기∙쇼핑 가게홈의 웹 전환은 단순한 기술 변경이 아니라 성능과 사용자 경험을 동시에 지켜내야 하는 도전이었습니다. 여러 차례 시도와 개선 끝에 적용된 다양한 최적화 기법과 성과를 소개하며, 서비스 전환 시 반드시 고려해야 할 핵심 포인트를 공유합니다. [발표자 소개] 우희제(프런트엔드 개발자)

웹 개발 프론트엔드

컨퍼런스 우아콘 2025

[세션 설명] 배달의민족에는 고객의 선택을 돕는 수많은 큐레이션들이 있습니다. 여러 화면에 노출하기 위하여 지면별로 개발을 진행하면서 발생했던 문제들과 이를 하나의 통합 플랫폼으로 발전시킨 실제 경험을 공유합니다. 메인홈, 검색결과 등 주요 지면에 성공적으로 적용하여 개발 효율성을 크게 향상시킨 구체적인 사례와 함께, 기술과 조직 문화가 함께 변화한 생생한 이야기를 들려드립니다. [발표자 소개] 강미경(PM), 이화영(안드로이드 개발자)

백엔드

컨퍼런스 우아콘 2025

[세션 설명] B마트 가격 시스템 마이그레이션 여정을 소개합니다. 새로운 플랫폼으로 이관하며 마주친 기술·정책·일정 등의 여러가지 난제들을 풀기위하여 ADR(Architecture Decision Record)을 적용해 전략을 수립하고 기술(기능플래그, CDC, 프록시 등)을 통하여 무중단 배포와 시스템 안정성을 확보한 과정을 공유합니다. [발표자 소개] 김민태(서버 개발자), 허영범(서버 개발자)

백엔드 데브옵스 · 인프라 애자일 · 협업

컨퍼런스 우아콘 2025

[세션 설명] 본 세션에서는 배달의민족 DesignOps를 소개하고, 실무에서 활용 중인 생산성 향상 도구 제작 경험을 공유합니다. 원클릭으로 데이터를 시안에 반영하는 방법과 디자인 QA 프로세스 효율화라는 두 가지 사례(or 주제)를 중심으로, 제작 과정과 이를 통해 얻은 인사이트를 소개합니다. [발표자 소개] 이재희(프런트엔드 개발자), 최동빈(프로덕트 디자이너)

프론트엔드 UI/UX 로드맵 3개에 담김

컨퍼런스 우아콘 2024

[WOOWACON2024 세션 다시보기] 👉 세션 설명 ㅤ 배달의 민족은 전국 식당들의 메뉴와 주문 뿐만아니라 커머스 대형 셀러들과 연동하여 실시간 배달 서비스를 제공하고 있습니다. 제공하는 서비스에서 발생하는 하루 평균 200억 건의 데이터가 흘러가는 시스템을 안정적으로 구축하고 운영한 사례를 공유드립니다. 1부: 시스템 아키텍처 편 대용량 데이터 처리 시스템을 도입하는 과정에서의 고민과 적용한 기술 그리고 아키텍처를 설명합니다. 2부: 음식 배달, 물건 배달 서비스 구축 편 데이터 정합성과 재처리 복원 등을 고려한 가장 안정적이고 지속가능한 시스템 구조를 만들기 위한 고민과 해결사례를 공유합니다. ㅤ 👉 발표자 소개ㅤ 김민중, 서버 개발자 장재주, 서버 개발자 윤보민, 서버 개발자 김병화, 서버 개발자

백엔드 데이터베이스