핵심 요약
한국그린데이터가 NestJS의 MQTT 5 Shared Subscription 기능을 활용해 다중 서버 확장 시 데이터 중복 저장 이슈를 해결하는 구현을 공유합니다.
구현 방법
- Mosquitto 브로커와 NestJS(@nestjs/microservices) 기반 MQTT 수집 구성
- 토픽 앞에 $share/groupName을 붙여 공동 구독으로 로드 밸런싱 구현
- server-mqtt.js의 removeHandlerKeySharedPrefix, getHandlerByPattern 로직 수정 및 타입 정의 추가
- 패키지 커스텀 모듈 tar.gz 생성 후 로컬 의존성으로 적용
주요 결과
- Shared Subscription이 정상 작동하는 것을 확인
- 다중 서버 환경에서 중복 데이터 저장 가능성이 줄어들 것으로 기대



