1일 1개념정리 24.08.09.금 ~
큰 결정에 큰 동기가 따르지 않을 때도 있다. 하지만 큰 결심이 따라야 이뤄낼 수 있다.
무조건 무조건 1일 1개의 개념 정리하기 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#84. 메시지 큐(Message Queue)
동기, 비동기 할때도 그렇고 네트워크 할때도 종종 메세지 큐에 대해서 나오는데 사실 그냥 "큐"겠거니 정도만 생각하고 넘어가서, 한번 정리해보려 한다.

메시지 큐
메시지 큐는 애플리케이션 간 비동기적으로 데이터를 교환할 때 쓰는 "비동기 방식의 메시지 전달 시스템"이다. 이를 통해 시스템 기능이 독립적으로 작동하면서 데이터를 주고받을 수 있다. 메시지 큐는 생산자, 소비자라는 개념으로 메세지를 관리하고 큐를 제공한다. → 비동기처리, 로드밸런싱, 분산 시스템 통신, 이벤트 기반 처리에 유용하다 !!!!
메시지 큐 개념
- 생산자 (Producer) : 메시지를 생성하여 큐에 넣는 역할이다. ex. 주문 데이터를 생성하는 애플리케이션
- 소비자 (Consumer) : 큐에서 메시지를 가져와 처리한다. ex. 주문 데이터를 처리하고 결제 시스템과 연결
- 큐 (Queue) : 메시지를 임시로 저장하는 큐다. 생산자가 메시지를 큐에 추가하면, 소비자는 순서대로 메시지를 처리한다.
- 브로커 (Broker) : 메시지 큐를 관리하고, 메시지의 전송과 분배를 중개한다. ex. Apache Kafka, AWS SQS
특징 (중요)
- 비동기 처리 (제일 큰 특징) : 생산자와 소비자가 동시에 작동하지 않아도 데이터를 교환 가능. 그래서 생산자와 소비자의 데이터 처리 속도가 달라도 됨.
- 느슨한 결합 : 서로 다른 애플리케이션 간의 의존성을 낮춰 시스템 유연성 증가. → 결제 시스템이 일시 중단 되어도 주문 처리는 계속 됨 .
- 확장성 : 메시지를 여러 소비자로 분배해서 처리하므로 부하를 분산할 수 있음. (병렬처리)
- 순서 보장 : 대부분의 메시지 큐는 메시지가 생성된 순서를 유지함.
작동 방식
- 생산자가 메시지를 생성하여 큐에 보냄.
- 큐는 메시지를 브로커에 저장하고 대기 상태로 유지.
- 소비자가 큐에서 메시지를 가져와 처리.
- 메시지 처리가 완료되면 메시지가 큐에서 제거되거나 상태를 업데이트.
ex. 아이스크림 무인 매장
- 큐 : 계산대 위의 돈과 구매 영수증 상자
- 생산자 : 고객
- 소비자 : 점원
- 메시지 : 고객의 구매 내역과 돈
- 고객(생산자)이 점원 없이 물건을 가져가고, 계산대에 돈과 구매 내역(메시지)을 남김.
- 점원이 없어도 다른 고객들은 줄을 안서도 계속 물건을 가져가고 메시지를 남길 수 있다.
- 점원(소비자)은 한 번에 모든 메시지를 처리하거나, 시간이 날 때마다 하나씩 확인한다. = 비동기처리
- 고객은 물건을 가져가고, 점원은 남긴 메시지(구매 정보와 돈)를 나중에 처리할 수 있으므로, 고객과 점원이 반드시 동시에 있을 필요가 없다.
반응형
'1일 1개념정리 (24년 8월~12월) > 네트워크, 클라우드' 카테고리의 다른 글
1일1개 (88) - 편식쟁이 AI (2) | 2024.11.21 |
---|---|
1일1개 (85) - 서버없는 컴퓨팅 (0) | 2024.11.18 |
1일1개 (73) - 기사님 시청역으로 가주세요 (가는 길은 모름) (0) | 2024.11.06 |
1일1개 (70) - 네트워크 세상의 이정표 (0) | 2024.10.26 |
1일1개 (69) - 쓰아아쓰 (6) | 2024.10.25 |