Message Queue

욱2·2023년 7월 6일

메시지 큐는 서로 다른 구성 요소 또는 시스템 간의 비동기 통신 형태입니다. 이를 통해 응용 프로그램의 다른 부분 또는 전혀 다른 응용 프로그램 간에 메시지(또는 작업, 작업, 이벤트)을 보내고 받을 수 있습니다.

아래는 메시지 큐가 가지고 있는 다양한 종류의 큐입니다.

  • FIFO Queue (선입선출): 메시지는 받은 순서대로 처리됩니다. 첫 번째로 인큐된 메시지가 첫 번째로 디큐됩니다.

  • Priority Queue: 메시지에 우선순위가 할당되며, 높은 우선순위의 메시지가 낮은 우선순위의 메시지보다 먼저 처리됩니다.

  • Delay Queue: 메시지는 특정 지연 기간 후에 처리되도록 인큐됩니다. 이는 작업을 예약하거나 특정 메시지의 처리를 지연시키는 데 유용할 수 있습니다.

  • Topic-based Pub/Sub: 메시지는 특정 주제에 발행되고, 구독자는 특정 주제의 메시지를 수신하기 위해 구독할 수 있습니다.

  • Work Queue: 작업 큐 또는 작업 대기열로도 알려져 있으며, 작업이나 작업을 여러 워커에게 비동기적으로 처리하도록 인큐합니다. 워커들은 큐에서 사용 가능한 작업을 처리하기 위해 경쟁합니다.

  • Publish/Subscribe (Pub/Sub): 메시지는 채널에 발행되고 해당 채널에 구독한 모든 구독자에게 전달됩니다. 이를 통해 여러 구독자에게 메시지를 브로드캐스트할 수 있습니다.

우리가 사용할 큐는 work queue 입니다. 작업 큐에서 작업이나 작업은 여러 workers가 비동기적으로 처리하기 위해 인큐됩니다. 워커들은 큐에서 사용 가능한 작업을 가져와 처리하기 위해 경쟁합니다. 이 접근 방식은 작업 부하를 여러 워커에게 분산시키고 병렬 처리를 가능하게 합니다.

profile
성장하는 날 위한 기록

0개의 댓글