개인 일정/공부

메세지큐 시스템이란?

박경태 2024. 4. 7. 23:59

메시지 큐(Message Queue)는 컴퓨터 시스템 간에 데이터를 비동기적으로 전송하는 데 사용되는 소프트웨어 패턴 또는 시스템입니다. 이는 발신자와 수신자 간의 통신을 위해 사용됩니다. 메시지 큐는 일반적으로 다음과 같은 기능을 제공합니다.

1. **비동기 통신**: 메시지 큐는 발신자와 수신자 간의 통신을 비동기적으로 처리합니다. 이는 발신자가 메시지를 전송하면, 해당 메시지가 바로 처리되지 않고 메시지 큐에 저장되며, 나중에 수신자가 메시지를 처리할 준비가 될 때까지 대기합니다.

2. **간접 통신**: 발신자와 수신자 간의 통신은 직접적으로 이루어지지 않고, 메시지 큐를 통해 이루어집니다. 이를 통해 발신자와 수신자 간의 결합도를 낮추고 유연성을 제공합니다.

3. **이벤트 기반 아키텍처**: 메시지 큐는 종종 이벤트 기반 아키텍처에서 사용됩니다. 발신자가 이벤트를 발생시키고, 해당 이벤트에 대한 메시지를 큐에 전송하면, 수신자는 큐에서 메시지를 처리하여 이벤트에 응답합니다.

4. **확장성**: 메시지 큐 시스템은 대규모 시스템에서도 확장 가능합니다. 이는 발신자와 수신자 간의 통신을 분산시켜 병렬 처리를 허용합니다.

5. **지속성**: 일부 메시지 큐 시스템은 메시지를 디스크에 저장하여 영구적으로 보존할 수 있습니다. 따라서 시스템 장애나 재시작 시에도 메시지가 유실되지 않습니다.

6. **메시지 전달 보증**: 몇몇 메시지 큐 시스템은 메시지 전달 보증을 제공하여, 메시지가 성공적으로 전송되고 처리되었음을 보장합니다.

메시지 큐는 다양한 용도로 사용됩니다. 예를 들어, 분산 시스템 간의 통신, 이벤트 기반 아키텍처, 작업 큐(예: 작업 스케줄링, 배치 처리), 백그라운드 작업 처리, 로깅 등이 있습니다. 대표적인 메시지 큐 시스템으로는 RabbitMQ, Apache Kafka, Amazon SQS 등이 있습니다.