메시지 큐(Message Queue)는 컴퓨터 시스템 간에 데이터를 비동기적으로 전송하는 데 사용되는 소프트웨어 패턴 또는 시스템입니다. 이는 발신자와 수신자 간의 통신을 위해 사용됩니다. 메시지 큐는 일반적으로 다음과 같은 기능을 제공합니다.
1. **비동기 통신**: 메시지 큐는 발신자와 수신자 간의 통신을 비동기적으로 처리합니다. 이는 발신자가 메시지를 전송하면, 해당 메시지가 바로 처리되지 않고 메시지 큐에 저장되며, 나중에 수신자가 메시지를 처리할 준비가 될 때까지 대기합니다.
2. **간접 통신**: 발신자와 수신자 간의 통신은 직접적으로 이루어지지 않고, 메시지 큐를 통해 이루어집니다. 이를 통해 발신자와 수신자 간의 결합도를 낮추고 유연성을 제공합니다.
3. **이벤트 기반 아키텍처**: 메시지 큐는 종종 이벤트 기반 아키텍처에서 사용됩니다. 발신자가 이벤트를 발생시키고, 해당 이벤트에 대한 메시지를 큐에 전송하면, 수신자는 큐에서 메시지를 처리하여 이벤트에 응답합니다.
4. **확장성**: 메시지 큐 시스템은 대규모 시스템에서도 확장 가능합니다. 이는 발신자와 수신자 간의 통신을 분산시켜 병렬 처리를 허용합니다.
5. **지속성**: 일부 메시지 큐 시스템은 메시지를 디스크에 저장하여 영구적으로 보존할 수 있습니다. 따라서 시스템 장애나 재시작 시에도 메시지가 유실되지 않습니다.
6. **메시지 전달 보증**: 몇몇 메시지 큐 시스템은 메시지 전달 보증을 제공하여, 메시지가 성공적으로 전송되고 처리되었음을 보장합니다.
메시지 큐는 다양한 용도로 사용됩니다. 예를 들어, 분산 시스템 간의 통신, 이벤트 기반 아키텍처, 작업 큐(예: 작업 스케줄링, 배치 처리), 백그라운드 작업 처리, 로깅 등이 있습니다. 대표적인 메시지 큐 시스템으로는 RabbitMQ, Apache Kafka, Amazon SQS 등이 있습니다.
'개인 일정 > 공부' 카테고리의 다른 글
객체 스토리지 시스템, 직렬화, 역직렬화 (0) | 2024.04.20 |
---|---|
인먼 데이터웨어하우스란 (0) | 2024.04.14 |
핫 데이터, 웜 데이터, 콜드 데이터란 (0) | 2024.03.31 |
메세지 큐 시스템이란 (0) | 2024.03.24 |
AWS IAM이란? (0) | 2024.03.17 |