
백엔드
비동기 메시지 가시화 파티가 1년 간 개발 문화를 바꾼 방법
두줄요약
비동기 메시지 규약이 제각각이라 추적과 유지보수가 어려운 문제를 길드 활동으로 해결했습니다. AsyncAPI와 Code-Gen 도구 WAAX를 도입해 문서화, 정적 검증, 가시화를 함께 개선했습니다.
문제 상황
- 비동기 메시지의 분류, ID 규약, 스키마 정의가 서비스마다 제각각인 상태
- 어떤 서비스가 어떤 메시지를 발행·소비하는지 추적이 어려워 코드 신뢰 저하와 휴먼 에러 발생
- MSA 환경에서 복잡해지는 메시지 흐름을 가시화하고 관리할 필요성 대두
해결 방법
- 스프레드시트로 모든 메시지의 정의와 목적을 먼저 수집해 단일 기준점 마련
- AsyncAPI Spec을 도입해 채널, 발행·소비 메시지, 스키마를 통일된 형식으로 문서화
- 개발 정책서 정리와 WAAX(Code-Gen) 제작으로 스키마와 코드 일치, 정적 타입 검증 지원
구조와 흐름
- 문제 인식 → 메시지 현황 조사 → 정책 수립 → AsyncAPI 도입 → Code-Gen 제작 → 실서비스 적용 순서
- Schema-First 방식 선택으로 문서 정확도와 장기 유지보수성 중시
- 채널 단위 분리와 시각화로 메시지 흐름 파악성 강화
