목록 보기
달리는 서비스의 이벤트 버스 개선하기
백엔드

달리는 서비스의 이벤트 버스 개선하기

모두싸인
모두싸인
2024년 11월 29일

두줄요약

비동기 메시지 규칙이 제각각이던 레거시 시스템을 통합 이벤트·커맨드·태스크로 분류해 표준화했습니다. Kafka와 Bullmq로 cloud agnostic 인프라를 구성해 CSAP 대응 마이그레이션을 완료했습니다.

문제 상황

  • CSAP 인증 대응을 위해 AWS 기반 비동기 메시지 인프라를 NCP로 옮겨야 하는 상황
  • 레거시 비동기 메시지 규칙 부재로 패턴이 제각각이고, 같은 성격의 작업도 서로 다른 물리 구현으로 분산
  • 운영자가 새 이벤트마다 다른 패턴을 숙지해야 해 운영·관리 비용 증가

원인 분석

  • MSA 도입 초기의 시행착오가 표준화되지 않은 메시지 구조와 인프라 선택으로 누적
  • 통합 이벤트, 비동기 커맨드, 태스크의 목적 구분이 흐려져 구현 방식이 혼재
  • 공공환경 이전 시 기존 부채를 그대로 가져가면 민간/공공 이중 운영 부담 발생

해결 방법

  • 메시지를 통합 이벤트, 비동기 커맨드, 비동기 태스크로 분류해 기준 정립
  • HTTP 유사 구조의 공통 스키마(messageId, headers, context, failure, data) 표준화
  • Kafka와 Bullmq로 cloud agnostic 인프라 구성, DLT와 재시도 토픽으로 실패 처리 체계 정비

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...