Azure Storage Queue 사용
Azure Storage 개발
Shahzad Mian
Content Developer, DataCamp
Storage Queue 소개
Storage Queue는 메시지 큐잉 서비스입니다.
애플리케이션은 종종 동시에 많은 요청을 처리합니다.
각 처리를 기다리면 시스템이 느려질 수 있습니다.
Azure Storage Queue는 구성 요소 간 비동기 통신을 제공합니다.
비동기 메시징은 속도와 확장성을 유지합니다.
현실의 과제
Cipher Coffee의 온라인 스토어는 한 번에 수백 건의 주문을 받습니다.
큐가 없으면 각 주문은 이전 주문이 끝날 때까지 기다려야 합니다.
큐를 사용하면 처리는 나중에 하더라도 주문을 즉시 접수할 수 있습니다.
이렇게 하면 웹사이트가 빠르고 고객 만족도가 높아집니다.
Queue란?
큐는 처리를 기다리는 메시지 대기열입니다.
메시지는
선입선출
로 처리됩니다.
각 메시지는 작은 작업 단위를 의미합니다.
처리 후 메시지는 큐에서 삭제됩니다.
Azure Storage Queue의 동작 방식
Azure Storage Queue는
Storage 계정
의 일부입니다.
메시지는 최대 64 KB이며 내구성 있게 저장됩니다.
애플리케이션은 다음을 수행할 수 있습니다:
큐에 메시지 보내기.
메시지 수신 및 처리.
처리 완료 후 메시지 삭제.
시스템이 재시작되어도 메시지는 유지됩니다.
비동기 워크플로
발신자가 "
Order 2045
결제 처리" 같은 메시지를 추가합니다.
Azure Function
같은 백그라운드 서비스가 메시지를 가져옵니다.
처리 성공 후 메시지를 삭제합니다.
이 패턴은 부하 시에도 확장성과 응답성을 유지합니다.
Cipher Coffee 사례
Cipher Coffee 웹사이트가 주문 메시지를 큐에 보냅니다.
주문 이행 시스템이 큐에서 메시지를 읽습니다.
메시지는 데이터베이스와 결제 시스템 업데이트를 트리거합니다.
계산대 흐름을 늦추지 않고 바리스타에게 알림이 전송됩니다.
큐의 이점
디커플링:
시스템이 독립적으로 동작.
확장성:
워커를 늘려 더 빠르게 처리.
신뢰성:
다운타임에도 메시지 유지.
통합:
Azure Functions, Logic Apps와 연동.
메시지 수명 주기
메시지는 세 단계로 진행됩니다:
Enqueue:
메시지를 큐에 추가.
Dequeue:
워커가 처리를 위해 가져옴.
Delete:
처리 성공 후 삭제.
실패한 메시지는 자동으로 다시 나타나 재시도됩니다.
일반적인 사용 사례
주문 처리와 백그라운드 청구.
알림 이메일 발송.
IoT 텔레메트리 버퍼링.
로그 수집 및 이벤트 파이프라인.
독립적이고 재시도 안전한 작업에 큐 사용.
그 외 다수
Queue vs Service Bus
Azure Service Bus
는 고급 메시징 시나리오에 사용합니다.
Service Bus는 다음을 지원합니다:
메시지 순서 지정과 세션.
트랜잭션, 토픽/구독.
Azure Storage Queue
는 더 단순하고 경량 작업에 비용 효율적입니다.
Cipher Coffee는 주문 처리와 실시간 업데이트에 큐를 사용합니다.
연습해 봅시다!
Azure Storage 개발
Preparing Video For Download...