멋사 Backend 57일차 🦁

신재원·2023년 7월 12일

☕ Spring

Spring AMQP

HTTP 통신을 통해 서버끼리 통신을 해도 되지만, 몇가지 단점이 존재합니다.

  • HTTP 통신은 요청을 보내게되면, 응답을 받을동안 서버의 수행이 중단됩니다. ( 동기적 )
  • 여러 서버에 동시에 정보를 전달하는것이 어렵습니다.

➡ 이러한점을 보완하기 위해 Message Broker 라는 미들웨어 소프트웨어가 등장합니다. (비동기적으로 통신 가능)

  • 메시지 브로커 란?

🎯 장점 : 서버간의 결합성을 감소시키고 확장성을 확보합니다.

서비스가 발전하면서 기능이 많아집니다. 하나의 서버에서 모든것을 처리하지 않는 방향을 생각해볼수있다

  • 메시지 브로커에 메시지를 보내놓으면, 쌓여있는 해당 메시지를 처리하는 다른 서버가 처리하는 방식 ( 서버 끼리 통신 )
  • 인증만 담당하는 서버를 따로 만들수도 있다.
  • 채팅만 담당하는등의 서버

아래의 그림처럼 알림, 블로그, 인증 같은 기능을 한곳에 서버에서 처리를 했다면, 나눠서 처리할수 있다는 것입니다.

많이 알려진 메시지 브로커 : 카프카, 레디스, RabbitMq
(카프카, 레디스는 많이 들어본것 같다.)

Job Queue 패턴

  • Job Queue 패턴은 일종의 디자인 패턴이며, 아래 그림과 같이 메시지를 큐에 보관하여 대기 시킵니다.
    • 다른 여러 서버에서 대기한 메시지를 큐에서 꺼내 처리합니다.

멘토분과 팀프로젝트 관련 커피챗 (개인 고민)

0개의 댓글