티스토리 뷰

Web/기타

RabbitMQ

구글링쟁이 k9e4h 2020. 1. 5. 14:47

https://velog.io/@hellozin/Spring-Boot%EC%99%80-RabbitMQ-%EC%B4%88%EA%B0%84%EB%8B%A8-%EC%84%A4%EB%AA%85%EC%84%9C

 

Spring Boot와 RabbitMQ 초간단 설명서

이번 포스트에서는 Spring boot 프로젝트에서 RabbitMQ를 사용하는 간단한 방법을 알아보겠습니다. Consumer 코드와 Producer 코드는 GitHub에 있습니다. 먼저 RabbitMQ 서버를 실행해야 하는데 Docker를 사용하면 쉽게 서버를 구성할 수 있습니다. 프로젝트 루트 폴더에 docker-compose.yml 파일을 생성하고 다...

velog.io

 

https://cheese10yun.github.io/spring-rabbitmq/

 

Rabbit MQ 기초 사용법 - Yun Blog | 기술 블로그

Rabbit MQ 기초 사용법 - Yun Blog | 기술 블로그

cheese10yun.github.io

 

exchange

https://teragoon.wordpress.com/2012/02/10/rabbitmq-topics%ED%8C%A8%ED%84%B4%ED%99%94%EB%90%9C-routing-key%EB%A1%9C-%EC%84%A0%ED%83%9D%EC%A0%81%EC%9C%BC%EB%A1%9C-message-%EB%B0%9B%EA%B8%B0/

 

[RabbitMQ] Topics(패턴화된 routing key로 선택적으로 message 받기)

Topics 이전 포스트에서는 정형화된 routing key를 이용해서 direct exchange와 queue간 바인딩하는 방법에 대해 알아봤습니다. 하지만 여기에 조금더 유연성과 확장성을 고려하여 정규식 패턴으로된 routing key를 지정하여 바인딩하는 Topic exchange가 있습니다. 선언은 다음과 같이 합니다. channel.excha…

teragoon.wordpress.com

 

http://blog.naver.com/PostView.nhn?blogId=tmondev&logNo=220419853534&parentCategoryNo=&categoryNo=6&viewDate=&isShowPopularPosts=false&from=postView

 

RabbitMQ와 Spring AMQP를 이용한 간단한 작업 큐 만들기

오늘날 소비자는 온라인 외 오프라인 매장을 이용하더라도 같은 서비스를 좀 더 합리적인 가격으로 이용하...

blog.naver.com

 


https://www.rabbitmq.com/tutorials/tutorial-one-java.html

 

RabbitMQ tutorial - "Hello World!" — RabbitMQ

Introduction Prerequisites This tutorial assumes RabbitMQ is installed and running on localhost on standard port (5672). In case you use a different host, port or credentials, connections settings would require adjusting. Where to get help If you're having

www.rabbitmq.com

https://m.blog.naver.com/PostView.nhn?blogId=oidoman&logNo=220832427092&proxyReferer=https%3A%2F%2Fwww.google.com%2F

 

RabbitMQ - 튜토리얼

http://www.rabbitmq.com/getstarted.html1. "Hello World!"RabbitMQ는 메시지 브로커이다....

blog.naver.com

Producing means nothing more than sending. A program that sends messages is a producer

A queue is the name for a post box which lives inside RabbitMQ

메시지가 RabbitMQ와 응용 프로그램을 통해 흐르지 만 queue 내부에만 저장 될 수 있습니다 . 

큐는 단지 호스트의 메모리 및 디스크 제한에 의해 구속되며, 본질적으로 큰 메시지 버퍼이다. 

많은 Producer가 하나의 대기열로 이동하는 메시지를 보낼 수 있으며, 많은 consumer가 한 queue 에서 데이터를 수신하려고 할 수 있습니다 .

Consumer는 받는 것과 비슷한 의미를 갖습니다. 소비자는 주로 메시지를 수신하기 위해 대기하는 프로그램

생산자, 소비자 및 브로커가 동일한 호스트에 상주 할 필요는 없습니다. 실제로 대부분의 응용 프로그램에서는 그렇지 않습니다. 응용 프로그램도 생산자와 소비자가 될 수 있습니다.

 

sender : message publisher ( 메세지 만드는 애 )

publisher가 RabbitMQ에 Connect해서 message보낸후 종료하는 튜토리얼

ConnectionFactory : server에 대한 connection

여기서 우리는 로컬 머신의 브로커, 즉 localhost에 연결 합니다.

다른 머신의 브로커에 연결하려면 여기에 이름이나 IP 주소를 지정하면됩니다.

Connection and Channel implement java.io.closeable.

java.io.closeable : ARM(Automatic Resource management) & EAM(Excute Around Method Pattern ) / java7에서 try-with-resource 구문

Our consumer listening for messages from RabbitMQ

 we'll keep it running to listen for messages and print them out.

  • 생산자는 메시지를 전송하는 사용자 응용 프로그램입니다.
  • 큐에 메시지를 저장하는 버퍼이다.
  • 소비자는 메시지를 수신하는 사용자 응용 프로그램입니다.

RabbitMQ의 메시징 모델의 핵심 아이디어는 생산자가 메시지를 직접 큐로 보내지 않는다는 것입니다. 실제로, 종종 생산자는 메시지가 어떤 큐로 전달 될지조차 모릅니다.

대신 생산자는 exchange에게 메시지를 보낼 수만 있습니다 . 교환은 매우 간단합니다. 한쪽은 생산자로부터 메시지를 받고 다른 쪽은 대기열로 보냅니다. 교환기는 수신 한 메시지로 정확히 무엇을해야하는지 알아야합니다. 특정 대기열에 추가해야합니까? 많은 대기열에 추가해야합니까? 아니면 폐기해야합니다. 이에 대한 규칙은 교환 유형에 의해 정의됩니다 .

 

binding : exchange와 queue의 관계

 

 

 


 

'Web > 기타' 카테고리의 다른 글

RabbitMQ  (0) 2020.01.05
API 호출 후 취소하기  (0) 2018.10.26
HTTP Push & Pull  (0) 2018.03.16
댓글
댓글쓰기 폼