이런 걸 배울 수 있어요
- 기술면접에서 물어보는 비동기 아키텍처와 분산처리의 이해
- AMQP 특징과 RabbitMQ의 이해
- SpringBoot 기반의 RabbitMQ 단계별 예제 습득
- DB 연동과 메시지 큐의 Transaction 처리하기
- Pub/Sub을 이용한 실시간 알람 시스템 구현하기
- Routing Model을 활용한 Log 수집하기
- Dead Letter Queue와 Retry를 이용한 재처리 방안
섹션1. 쉽게 이해하는 RabbitMQ 개요와 비동기 아키텍처
섹션2. RabbitMQ 기본 튜토리얼
섹션3. RabbitMQ 활용 - DeadLetterQueue, Transaction 적용
DeadLetterQueue 재처리와 Retry
DLQ : 메시지가 큐에서 제대로 처리 되지 못할 경우 DLQ에 이동 되며, 실패한 메시지를 저장하는 용도로 사용
- NACK 처리나 거부
- basic.reject 혹은 basic.nack 으로 메시지가 처리되지 못한 경우
- TTL (Time-To-Live) 만료
- 큐 설정 초과 (Overflow)
- 큐에 설정된 최대 메시지 갯수를 초과하면 가장 오래된 메시지가 삭제되고 DLQ로 이동
DLX : 큐 실패시에 데드레터 익스체인지(DLX)를 설정하여 메시지가 처리되지 못한 경우 지정된 큐로 이동시킬수 있다.