AWS SES로 이메일 발송 시스템 구축하기: 대량 발송과 반송 처리 전략
AWS SES를 활용한 자동화된 이메일 발송 시스템을 구축했습니다. 대량 메일 발송, AWS SNS와 Lambda를 통한 반송/불만 처리, 블랙리스트 관리 등 실제 운영 환경에서 필요한 기능들을 구현한 과정을 공유합니다.
Tag
AWS SES를 활용한 자동화된 이메일 발송 시스템을 구축했습니다. 대량 메일 발송, AWS SNS와 Lambda를 통한 반송/불만 처리, 블랙리스트 관리 등 실제 운영 환경에서 필요한 기능들을 구현한 과정을 공유합니다.
소켓 API 문서화를 위해 AsyncAPI를 도입했습니다. nest-asyncapi의 한계를 극복하기 위해 데코레이터 기반 메타데이터 수집과 동적 AsyncAPI 스펙 생성 시스템을 직접 구현한 과정을 공유합니다.
MongoDB의 멀티 도큐먼트 트랜잭션을 Node.js에서 안전하게 구현하기 위해 AsyncLocalStorage와 Mongoose 미들웨어를 사용하는 방법을 설명하며, 자동 세션 관리, 재시도 메커니즘, 에러 처리 및 성능 최적화의 중요성을 강조합니다. 다양한 구현 방식을 비교하고, @Transactional 데코레이터를 통해 복잡한 비즈니스 로직을 안전하게 처리하는 방법을 제시합니다.
Kafka 메시지 처리를 위해 각 토픽마다 개별 컨슈머 그룹을 구성하고, 커스텀 데코레이터(@Consume)를 통해 컨트롤러의 특정 메서드를 Kafka Consumer로 등록하는 방법을 설명합니다. NestJS에서 데코레이터는 마킹, 조회, 등록의 3단계로 동작하며, 이를 통해 독립적인 오프셋 관리, 맞춤형 소비 로직, 리밸런싱 영향 최소화 등의 장점을 제공합니다.