백엔드 개발자 주재범입니다. 설계 결정과 그 대가, 장애에서 배운 것, 팀에 남긴 규칙을 씁니다.
두 서비스가 협력 대신 서로를 번역하느라 DTO가 폭증하던 백엔드를 한 프로세스로 합치고 MyBatis에서 JPA로 옮겼다. 그 앞에 외주사 A사가 왜 실패했는지도 같이 적었다.
흩어진 발송 코드와 중계 서버 뒤에 숨은 실패를 하루 만에 세운 통합 메시징 서비스로 걷어냈다. 발송의 정본을 큐가 아니라 DB 상태 기계에 둔 이유를 적었다.