본문 바로가기
개발관련 자료

안드로이드스튜디오에서 RabbitMQ 사용하기 #2 - 레빗엠큐 시작하기전에

by jinu957 2021. 5. 26.
728x90

우선 안드로이드스튜디오 코딩에 들어가기전에 간략하게 RabbitMQ에 대해서 입문하기 위한 글을 발췌해 봤습니다.

 

 

<소개>

 

RabbitMQ는 메시지 브로커입니다. 메시지를 수락하고 전달합니다. 우체국이라고 생각할 수 있습니다.

게시하려는 편지를 우체통에 넣으면 Mr. 또는 Ms. Mailperson이 결국 수신자에게 편지를 배달 할 것임을 확신 할 수 있습니다. 이 비유에서 RabbitMQ는 우체통, 우체국 및 우체부입니다.

 

RabbitMQ와 우체국의 주요 차이점은 종이를 처리하지 않고 대신 데이터의 이진 blob ( 메시지)을 수락, 저장 및 전달한다는 것 입니다.

RabbitMQ 및 일반적으로 메시징은 일부 전문 용어를 사용합니다.

  • producer - 생산은 보내는 것 이상을 의미하지 않습니다. 메시지를 보내는 프로그램은 producer(생산자)입니다. 표시는 아래 그림처럼 나타냅니다.

  • queue -  는 RabbitMQ 내부에있는 우체통의 이름입니다. 메시지는 RabbitMQ 및 애플리케이션을 통해 흐르지 만  내부에만 저장할 수 있습니다 . 큐는 호스트의 메모리 및 디스크 제한에 의해 제한되며, 그것은 본질적으로 큰 메시지 버퍼입니다. 많은 producer(생산자)가 하나의 대기열로 이동하는 메시지를 보낼 수 있으며 많은 consumer(소비자)가 하나의 queue(대기열)에서 데이터 수신을 시도 할 수 있습니다 . 아래 그림은 우리가 큐를 나타내는 방법입니다.

 

  • consumer - 소비 는받는 것과 비슷한 의미입니다. consumer(소비자)는 주로 메시지를 수신하기 위해 대기하는 프로그램입니다. 표시는 아래 그림처럼 나타냅니다. 

 

 

 

producer(생산자), consumer(소비자) 및 브로커가 동일한 호스트에있을 필요는 없습니다. 실제로 대부분의 응용 프로그램에서는 그렇지 않습니다. 애플리케이션은 생산자이자 소비자가 될 수도 있습니다.

 

 

 

< 자바 클라이언트 라이브러리 >

RabbitMQ는 여러 프로토콜을 사용합니다. 

앞으로 작성될 내용에서는 메시징을위한 개방형 범용 프로토콜인 AMQP 0-9-1을 사용합니다. 

또한 다양한 언어로 된 RabbitMQ용 클라이언트가 많이 있지만 RabbitMQ에서 제공하는 Java 클라이언트를 사용 할 예정입니다.

다운로드 클라이언트 라이브러리 및 종속성 ( SLF4J API and SLF4J Simple ). 튜토리얼 Java 파일을 따라 작업 디렉토리에 해당 파일을 복사하십시오.

SLF4J Simple은 튜토리얼로 충분하지만 프로덕션 환경에서는 Logback 과 같은 완전한 로깅 라이브러리를 사용해야합니다 .

(RabbitMQ Java 클라이언트는 groupId com.rabbitmq 및 artifactId amqp-client  함께 중앙 Maven 저장소에도 있습니다 .)

 


일단 시작하기 전에 가볍게 읽어볼만한 내용이어서 RabbitMQ 홈페이지에 있는 내용을 발췌하였습니다.

다음 포스팅에서는 RabbitMQ을 사용하기 위한 프로토콜인 AMQP 0-9-1에 대하여 적어볼텐데 AMQP 0-9-1만 해도 책한권 분량이라 개발하는데 꼭 필요한 부분만 적어보도록 하겠습니다. 

 

 

728x90

댓글