BROS(배달시스템)의 레거시 시스템 개선하기: 스파게티 코드에서 알덴테까지 #우아콘2025 #우아한형제들
우아콘 2025 우아한형제들 · YouTube
AI 핵심 요약
10년 가까이 운영된 BROS는 거대한 모놀리식 구조와 여러 팀이 공유하는 공통 모듈, 복잡한 이벤트 리스너 때문에 개발 비용과 DB 부하, 장애 위험이 커지고 있었습니다. 배달팀과 라이더팀은 공통 모듈의 기능을 도메인별로 나누고, 배달 서버와 메신저 서버로 역할을 옮겼으며, 애플리케이션 이벤트 리스너를 정리하고 라이더 API의 쿼리와 트랜잭션 범위를 개선했습니다. 피처 플래그를 통한 점진 배포와 JSON 응답 비교 도구로 변경 위험을 낮췄고, 테스트 커버리지와 코드 복잡도를 개선하는 한편 라이더 DB 부하도 줄였습니다. 큰 시스템의 리팩터링은 한 번에 완성하려 하기보다 작은 단위로 배포하고, 상황에 맞춰 목표와 우선순위를 계속 조정하는 것이 중요하다는 경험을 공유했습니다.
- 공통 모듈을 담당 도메인별로 분류한 뒤, 서버 간 의존성과 역할을 단계적으로 정리하세요.
- 복잡한 이벤트 리스너는 사용 여부와 대체 경로를 확인하고, 비즈니스 로직을 도메인에 옮긴 뒤 직접 호출로 단순화할 수 있습니다.
- DB 부하를 줄일 때는 불필요한 쿼리와 단계를 제거하고, 외부 API 호출 구간에서 트랜잭션이 유지되지 않도록 범위를 좁히세요.
- 피처 플래그를 이용해 변경 사항을 작은 트래픽부터 점진적으로 적용하고, 실패 시 기존 로직으로 되돌릴 수 있게 하세요.
- 리팩터링 범위가 커질수록 완벽한 재설계보다 우선순위를 반복해서 조정하고, 테스트와 가독성 기준을 팀이 함께 합의하는 것이 중요합니다.
소개
[세션 설명] BROS는 10년 가까이 유지·보수되어 온 배달 처리 시스템입니다. 배달(OD, Own Delivery) 건수가 계속 증가함에 따라 시스템 안정성과 개발 생산성을 높이기 위해 ‘baeminz 도메인 정리’ 프로젝트를 진행했고, 이를 통해 얻은 성과와 경험을 공유합니다. 현 시스템의 문제를 해결하기 위해 어떤 전략을 세웠는지, 기존과 새로운 아키텍처는 어떻게 달라졌는지, 그리고 고민 끝에 도달한 결론과 다양한 안정성 장치들을 소개합니다. 프로젝트 완료 후 얻은 성과와 향후 개선 방향도 함께 나눕니다. [발표자 소개] 박민철(서버 개발자)
이 자료가 담긴 로드맵
- ㅇ 놀라운앵무새 · 구간 3개 · 2026년 6월 목표
- 2026년 AI 설계 기획.프론트엔드.백엔드 학습자12 · 구간 3개 · 2026년 12월 목표
- ai agent 마스터하기 학습자6 · 구간 3개 · 2026년 7월 목표
비슷한 학습 자료
컨퍼런스 우아콘 2025
오프닝 키노트 #우아콘2025 #우아한형제들
컨퍼런스 우아콘 2025
장보기•쇼핑 성능 최적화 고군분투기: 웹 전환 과정에서의 경험과 교훈 #우아콘2025 #우아한형제들
컨퍼런스 우아콘 2025
똑같아 보이는데 다르다고? 큐레이션 중복 개발 탈출기 #우아콘2025 #우아한형제들
컨퍼런스 우아콘 2025
같은 시간, 더 나은 디자인을 할 수 있는 방법 #우아콘2025 #우아한형제들
컨퍼런스 우아콘 2024
[WOOWACON2024 세션 다시보기] 👉 세션 설명 ㅤ 배달의 민족은 전국 식당들의 메뉴와 주문 뿐만아니라 커머스 대형 셀러들과 연동하여 실시간 배달 서비스를 제공하고 있습니다. 제공하는 서비스에서 발생하는 하루 평균 200억 건의 데이터가 흘러가는 시스템을 안정적으로 구축하고 운영한 사례를 공유드립니다. 1부: 시스템 아키텍처 편 대용량 데이터 처리 시스템을 도입하는 과정에서의 고민과 적용한 기술 그리고 아키텍처를 설명합니다. 2부: 음식 배달, 물건 배달 서비스 구축 편 데이터 정합성과 재처리 복원 등을 고려한 가장 안정적이고 지속가능한 시스템 구조를 만들기 위한 고민과 해결사례를 공유합니다. ㅤ 👉 발표자 소개ㅤ 김민중, 서버 개발자 장재주, 서버 개발자 윤보민, 서버 개발자 김병화, 서버 개발자
백엔드 데이터베이스