https://cheese10yun.github.io/spring-rabbitmq/
exchange
https://www.rabbitmq.com/tutorials/tutorial-one-java.html
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의 관계
https://cheese10yun.github.io/spring-rabbitmq/
https://nesoy.github.io/articles/2019-02/RabbitMQ
'기타내용' 카테고리의 다른 글
DNS 8.8.8.8 (0) | 2020.02.26 |
---|---|
OAuth 2.0 (0) | 2020.02.18 |
MacOs Eclipse 자동완성 (0) | 2019.12.16 |
elasticsearch (0) | 2019.12.04 |
Https status code 202 예제 (0) | 2019.11.30 |