폼 빌더 서비스에서 조건부 로직 기능을 구현하며, 조건이 연쇄적으로 적용되는 경우와 사용자가 답변을 변경할 때 발생하는 상태 관리 문제를 해결한 과정을 공유합니다.
Google Sheet API의 rate limit으로 인한 데이터 유실 문제를 해결하기 위해 Redis 버퍼링, 배치 처리, 슬라이딩 윈도우 rate limiter를 활용한 안정적인 연동 시스템을 구축한 과정을 소개합니다.
동일한 설문 폼을 여러 회차에 걸쳐 사용할 때 URL 변경으로 인한 마케팅 데이터 분산 문제를 해결하기 위해, Redis 캐싱과 MongoDB를 활용한 고정 URL 매핑 미들웨어를 구현한 과정을 소개합니다.
AWS SES를 활용한 자동화된 이메일 발송 시스템을 구축했습니다. 대량 메일 발송, AWS SNS와 Lambda를 통한 반송/불만 처리, 블랙리스트 관리 등 실제 운영 환경에서 필요한 기능들을 구현한 과정을 공유합니다.
Kafka 메시지 처리를 위해 각 토픽마다 개별 컨슈머 그룹을 구성하고, 커스텀 데코레이터(@Consume)를 통해 컨트롤러의 특정 메서드를 Kafka Consumer로 등록하는 방법을 설명합니다. NestJS에서 데코레이터는 마킹, 조회, 등록의 3단계로 동작하며, 이를 통해 독립적인 오프셋 관리, 맞춤형 소비 로직, 리밸런싱 영향 최소화 등의 장점을 제공합니다.
소켓 API 문서화를 위해 AsyncAPI를 도입했습니다. nest-asyncapi의 한계를 극복하기 위해 데코레이터 기반 메타데이터 수집과 동적 AsyncAPI 스펙 생성 시스템을 직접 구현한 과정을 공유합니다.