카테고리

백엔드

백엔드 · 리팩토링

연동 분기가 몰린 300줄 메서드를 변경 이유별 5단계로 나누기

기존 기능 위에 외부 시스템 연동이 계속 덧붙으며 300줄 이상으로 커진 교육 기능 메서드를, '변경되는 이유'를 기준으로 5개 단계로 분리하고 연동 처리를 핵심 업무 로직에서 떼어낸 과정을 정리했습니다.

#Refactoring#LegacyCode#SystemIntegration#SpringBoot
백엔드 · 아키텍쳐 · 트러블슈팅

대용량 배치와 외부 연동을 안전하게 만들기: Outbox 패턴 적용기

RabbitMQ 컨슈머 타임아웃을 넘겨 43시간 동안 약 50회 재실행되던 월 배치를, 컨슈머 타임아웃 상향 대신 Transactional Outbox 구조로 바꿔 해결한 과정을 정리했습니다.

#Outbox패턴#TransactionalOutbox#대용량배치#Transactional