728x90
반응형
RabbitMQ
- 메시지를 생성하는 프로듀서(= api server), 이를 큐에 저장하는 rabbitmq, 이 메세지를 읽어 소비하는 컨슈머(=가맹점 서버)
- 비동기 방식
api server 가 퍼블리셔 역할이다.
api 서비스에서 사용자가 주문을 하게 되면 (이벤트 발생 메세지 생성)
api 서버가 q에 바로 메세지 넣는게 아니라,
rabbitmq 는 exhange라는 곳에 메세지를 넣는다 - 이 메세지를 어디로 라우팅 시킬지 결정 하는 곳이 exchange, 컨트롤러 같은 역할.
exchange는 어떤 메세지인지 구분해 특정한 q에 그 메세지를 넣어준다.
가맹점 서버가 컨슈머 역할을 한다.
가맹점 서버가 q에 있는 데이터를 가져오고 처리한다.
컨슈머는 데이터를 넣을 수도 있고 꺼낼 수도 있다. 양방향 가능하다. 설정하기 나름.
api서버는 메세지를 exchange에 넣는다 - exchange는 특정 q에 라우팅을 한다. - q에 메세지를 넣는다. - 가맹점 서버가 가져간다.
728x90
'JAVA > 프로젝트' 카테고리의 다른 글
리팩토링: DB접근 줄이기 (0) | 2024.06.29 |
---|---|
배달 플랫폼 백엔드 : rabbitmq 프로듀서 설정 (2) | 2024.06.14 |
배달 플랫폼 백엔드 개발: Api Error code 적용 (1) | 2024.05.20 |
배달 플랫폼 백엔드 개발: API 공통 Spec 적용 (0) | 2024.05.20 |
배달 플랫폼 백엔드 개발: Filter request, Response Log (0) | 2024.05.20 |