메시지큐는 프로세스나 스레드 간에 비동기적으로 메시지를 교환하기 위한 통식 방식입니다. 메시지큐를 사용하면 메시지 생성자는 메시지를 큐에 보내고. 메시지 수신자는 큐를 통해 메시지를 수신합니다. 이를 통해 시스템간의 결합도를 낮추고, 확장성과 유연도를 높일 수 있습니다.

메시지큐를 사용할 때 주의해야 할 점

이러한 비동기식 구현에는 전달된 요청 메시지가 잘 수신되었는지 확인해야 하는데, 이러한 비동기 컴포넌트 구현에는 에러처리를 잘 해야 한다.

  1. 재처리: 메시지 처리 중 에러가 발생 했을때, 다른 발신 처리를 시도하는 방법, 메시지 처리기가 일시적인 문제가 발생하여 장애를 일으켰을때 효과적인 대처가 가능하다. 통상적으로 재처리 횟수를 3에서 5회정도 시도하는것으로 알려져 있다.
  2. 무시: 보통 중요하지 않은 메세지의 경우 에러처리를 하지 않고 지나간다. 보통 중요하지 않은 로그정보인 경우
  3. 알림: 메시지 처리중 에러가 발생했을때 관리자에게 알림 메시지를 날리는 경우
  4. 사람이 처리함: 에러가 발생했을때 관리자가 직접 처리한다. 에러 재처리 부분이 복잡한 경우에 이 경우도 고려할 수 있다.

메시지 큐 구성 시 고려해야할 사항

  1. 성능 및 페일 오버를 고려한 Persistence 선택
  2. 펜딩으로한 인한 Out of Memory
  3. 트랜잭션 지원 기능
  4. 클러스터링 기능