-
예시 : 이메일 관련
바로 응답이 오지 않아도 이해하는 것들
1. 비밀번호 찾기 메일 -> 5분 안에 오겠지~
2. 회원가입 인증 메일 -> 5분 안에 오겠지~
1번과 2번에서 하나의 메시지 큐에 요청을 쌓음 -------> 구분하지 않고 하나의 메시지 큐에 적재 ------> 서버에서 메시지 하나씩 빼서 처리하고 돌려보냄
메시지 큐 특징
- 비동기: Queue에 넣어 나중에 처리가 가능.
- 비동조: Application과 분리할 수 있다.
- 확장성: 여러개의 서비스들이 큐에 메세지를 보낼 수 있다.
- 탄력성: 일부가 실패해서 전체에는 영향을 주지 않는다.
- 과잉: 실패할 경우 재실행이 가능하다.
-> 서버 부하가 많은 경우에 효과적
서버 부하가 많은 경우 하나 하나의 쓰레드가 요청을 물고 있다가 지연이 되고, 지연은 계속 길어져 응답 시간이 매우 중요한 서비스라면 치명적.
만약 하나의 서버가 다운된다면 지연이 더 길어짐.
이를 대비해서 요청이 몰리지 않는 경우에도 고사양의 인프라를 구축해야하는 상황 (물론 오토스케일링으로 일부 해소 가능)
각각의 쓰레드와 직접적으로 통신하기 보다는 메시지 큐를 중간에 만들어서 서버에서 하나씩 처리하게 하는 것이 서버 부하에 효과적
Q. 하지만 주요 서비스 보다는 바로 바로 처리하지 않아도 되는 부가 서비스에 더 효과적이라고 설명되어 있다. 서버 부하 떄문에 주요 서비스에 적용시키는 것이 괜찮은것일까?
windows 설치
레퍼런스 :
https://tecoble.techcourse.co.kr/post/2021-09-19-message-queue/
메시지 큐에 대해 알아보자!
메시지 큐란 메시지 큐(Message Queue)는 프로세스 또는 프로그램 간에 데이터를 교환할 때 사용하는 통신 방법 중에 하나로, 메시지 지향 미들웨어(Message Oriented Middleware:MOM…
tecoble.techcourse.co.kr