Quick Start

2020. 4. 17. 06:23Spring Micro Services/RabbitMQ

반응형

Microservice Architechture를 공부해오면서 Message Queue에 대해 관심을 가지게 되었다. 그중에 RabbitMQ에 대해 관심이 있었는데어떻게 공부 하는게 좋을지 고민 하던중 YouTube 채널중 JavaBrains 의  "4 steps to master a new  technology" 강좌 내용이 많은 도움이 되었다.

 

강좌의 내용을 요약해보면 다음과 같다.

 

  • Step1: Quickstart 
  • Step2: Video Courses 
  • Step3: Read Related Books 
  • Step4: Build Something with it.

첫번째 예제인 Hello World를 따라 하다 보니 그에 앞서 중요한 용어에 대한 개념 정리가 필요한거 같아서 먼저 용어에 대해 정리 해보았다.

그럼 용어에 대해 살펴 보도록 하자.

  • Producer: 메세지를 보내는 Application
  • Consumer: 메세지를 수신하는 Application
  • Queue: 메세지를 저장하는 버퍼
  • Message: RabbitMQ 통해 생산자에서 소비자에서 전송되는 정보
  • Connection: Application과 RabbitMQ broker 간의 TCP 연결
  • Channel: 연결내부의 가상 연결. 큐에서 메시지를 게시하거나 사용 할 때 모든 것이 채널을 통해 수행
  • Exchange: exchange 유형에 정의된 룰에 따라서 Producer로 부터 수신된 모든 메세지를 Queue 에 전달 합니다.
  • Binding: Queue와 exchnage 간의 연결
  • Routing Key: 메세지를 Queue로 전송하기 위한 Key. 쉽게 생각해서 메세지의 주소라고 생각 하면 될거 같다.
  • AMOP: RabbitMQ에서 메세지를 보내기 위한 Protocol(Advanced Message Queuing Protocol)

위의 용어 중 Exchnage Type은 다음과 같다.

  • Direct: Routing Key 가 정확히 일치 하는 경우 Queue로 Routing
  • Fanout: 모든 Queue로 Routing
  • Topic: pattern에 의해서 Queue로 Routing
  • Headers: Header 속성에 의해서 Queue로 Routing

 

기본적으로 위의 용어와 개념에 대해서는 알고 시작하는 것이 RabbitMQ에 대한 전체적인 구조를 이해 할 수 있을거 같다.

 

 

반응형

'Spring Micro Services > RabbitMQ' 카테고리의 다른 글

Topic  (0) 2020.04.19
Routing  (0) 2020.04.19
Publish/Subscribe  (0) 2020.04.19
Work Queues  (0) 2020.04.19
Hello World  (0) 2020.04.19