
🤔메세지 큐가 뭐지?
메세지 큐는 메세지를 비동기적으로 송수신하는 기술로 시스템 간 통신에 사용되는 메시지 지향 미들웨어입니다. 여기서의 메시지는 요청, 응답, 오류 메시지 등의 정보입니다.
🤨메세지 큐의 작동 원리?
메세지 큐에는 다음과 같은 개념이 있습니다.
- 발신자(Sender) : 메시지 큐에 메시지를 생성하고 큐에 넣습니다.
- 큐(Queue) : 메시지가 저장되는 버퍼로, 발신자와 수신자 간에 중간 매개체 역할을 합니다.
- 수신자(Receiver) : 큐에서 메시지를 가져와서 처리합니다.
🤨그렇다면 메세지 큐를 왜 사용하지?
- 비동기 통신 : 발신자와 수신자간 의존성이 낮아 각각의 시스템이 독립적으로 동작할 수 있습니다.
- 메세지 유실 방지 : 메시지 큐를 사용하면 메모리를 이용하여 임시적으로 저장하는 시스템으로 빠른 응답 시간을 제공함과 동시에 메모리 전원이 꺼지며 데이터가 사라지는 것을 방지하기 위해 디스크에 영구적으로 보관되어 메시지 유실 가능성을 줄일 수 있습니다.
- 높은 확장성 : 여러 발신자와 수신자를 추가, 제거하여 확장성을 높일 수 있습니다.
이러한 장점으로 빠르고 안정적인 정보 전달이 가능하다!
😀메세지 큐가 사용되는 예시
- 이메일 : 대량의 이메일을 한번에 처리하는 것은 효율적이지 않습니다. 메세지 큐를 이용하여 비동기적으로 빠르게 처리하여 안정적으로 작동할 수 있습니다.
- 금융 시스템 : 빠른 거래 처리가 필요한 환경에서 메세지 큐가 사용됩니다. 빠르게 주문에 응답하여 시스템 통신에 따른 지연을 최소화 합니다.
- 실시간 채팅 시스템 : 여러 사용자가 동시에 채팅을 하면 많은 데이터가 발생합니다. 메세지 큐를 이용하여 효율적으로 처리할 수 있습니다.
- 항공 시스템 : 항공편 예약과 상태 알림, 운항 시스템 등 여러 데이터를 메세지 큐를 이용하여 빠르고 효율적으로 처리할 수 있습니다
메세지 큐의 빠르고 대량의 데이터를 안정적으로 처리할 수 있는 장점 덕분에 위와 같은 예시에서 많이 사용됩니다.
반응형
'개발관련 > 개발 상식' 카테고리의 다른 글
[개발 상식] MSA(MicroService Architecture)란? (0) | 2023.08.29 |
---|---|
[개발 상식] Ajax, Axios, Fetch API가 무엇일까? (0) | 2023.08.13 |
[개발 상식] 선언적 프로그래밍과 명령적 프로그래밍, React.js와 선언적 프로그래밍 (0) | 2023.07.27 |
[개발 상식] 클린코드란? (0) | 2023.07.25 |
[개발 상식] 객체지향(OOP) vs 절차지향(PP) (0) | 2023.07.22 |