Azure Storage Queue 사용

Azure Storage 개발

Shahzad Mian

Content Developer, DataCamp

Storage Queue 소개

  • Storage Queue는 메시지 큐잉 서비스입니다.
  • 애플리케이션은 종종 동시에 많은 요청을 처리합니다.
  • 각 처리를 기다리면 시스템이 느려질 수 있습니다.
  • Azure Storage Queue는 구성 요소 간 비동기 통신을 제공합니다.
  • 비동기 메시징은 속도와 확장성을 유지합니다.

Storage Queue 문제 해결

Azure Storage 개발

현실의 과제

주문 적체 문제와 해결

  • Cipher Coffee의 온라인 스토어는 한 번에 수백 건의 주문을 받습니다.
  • 큐가 없으면 각 주문은 이전 주문이 끝날 때까지 기다려야 합니다.
  • 큐를 사용하면 처리는 나중에 하더라도 주문을 즉시 접수할 수 있습니다.
  • 이렇게 하면 웹사이트가 빠르고 고객 만족도가 높아집니다.
Azure Storage 개발

Queue란?

  • 큐는 처리를 기다리는 메시지 대기열입니다.
  • 메시지는 선입선출로 처리됩니다.
  • 각 메시지는 작은 작업 단위를 의미합니다.
  • 처리 후 메시지는 큐에서 삭제됩니다.

큐 그래픽

Azure Storage 개발

Azure Storage Queue의 동작 방식

큐 설명

  • Azure Storage Queue는 Storage 계정의 일부입니다.
  • 메시지는 최대 64 KB이며 내구성 있게 저장됩니다.
  • 애플리케이션은 다음을 수행할 수 있습니다:
    • 큐에 메시지 보내기.
    • 메시지 수신 및 처리.
    • 처리 완료 후 메시지 삭제.
  • 시스템이 재시작되어도 메시지는 유지됩니다.
Azure Storage 개발

비동기 워크플로

 

 

비동기 워크플로

  • 발신자가 "Order 2045 결제 처리" 같은 메시지를 추가합니다.
  • Azure Function 같은 백그라운드 서비스가 메시지를 가져옵니다.
  • 처리 성공 후 메시지를 삭제합니다.
  • 이 패턴은 부하 시에도 확장성과 응답성을 유지합니다.
Azure Storage 개발

Cipher Coffee 사례

  • Cipher Coffee 웹사이트가 주문 메시지를 큐에 보냅니다.
  • 주문 이행 시스템이 큐에서 메시지를 읽습니다.
  • 메시지는 데이터베이스와 결제 시스템 업데이트를 트리거합니다.
  • 계산대 흐름을 늦추지 않고 바리스타에게 알림이 전송됩니다.

주문 프로세스

Azure Storage 개발

큐의 이점

  • 디커플링: 시스템이 독립적으로 동작.
  • 확장성: 워커를 늘려 더 빠르게 처리.
  • 신뢰성: 다운타임에도 메시지 유지.
  • 통합: Azure Functions, Logic Apps와 연동.

독립 시스템

확장 가능한 시스템

신뢰할 수 있는 시스템

Screenshot 2025-10-27 at 5.42.20 pm.png

Azure Storage 개발

메시지 수명 주기

Screenshot 2025-10-27 at 5.48.34 pm.png

  • 메시지는 세 단계로 진행됩니다:
    • Enqueue: 메시지를 큐에 추가.
    • Dequeue: 워커가 처리를 위해 가져옴.
    • Delete: 처리 성공 후 삭제.
  • 실패한 메시지는 자동으로 다시 나타나 재시도됩니다.
Azure Storage 개발

일반적인 사용 사례

  • 주문 처리와 백그라운드 청구.

주문 아이콘

  • 알림 이메일 발송.

메일 아이콘

  • IoT 텔레메트리 버퍼링.

IoT 아이콘

  • 로그 수집 및 이벤트 파이프라인.
    • 독립적이고 재시도 안전한 작업에 큐 사용.
    • 그 외 다수
Azure Storage 개발

Queue vs Service Bus

  • Azure Service Bus는 고급 메시징 시나리오에 사용합니다.
  • Service Bus는 다음을 지원합니다:
    • 메시지 순서 지정과 세션.
    • 트랜잭션, 토픽/구독.
  • Azure Storage Queue는 더 단순하고 경량 작업에 비용 효율적입니다.
  • Cipher Coffee는 주문 처리와 실시간 업데이트에 큐를 사용합니다.

Screenshot 2025-10-27 at 6.13.37 pm.png

Azure Storage 개발

연습해 봅시다!

Azure Storage 개발

Preparing Video For Download...