본문 바로가기

728x90

Server/RabbitMQ

(3)
3. Delivery Guarantee - Mandatory HTML 삽입 미리보기할 수 없는 소스 1. mandatory란? RabbitMQ에 Message를 발행할 때 특정 Exchange의 Routing Key가 없어도 메시지가 발행된다. 이때 mandatory 옵션을 적용하게 되면 Message가 발행 됐을 때 오류를 캐치할 수 있다. 즉, Message 라우팅 실패를 알리는 데 사용할 수 있는 가장 간단한 옵션이다. 만약 Message 라우팅에 성공하면 발행자에게는 별도의 결과를 알려주진 않는다. 2. Setting mandatory 옵션을 테스트하려면 RabbitMQ에 Exchange만 생성해 두자. Routing Key는 선택사항이다. 3. Rabbitpy로 mandatory 사용하기 Rabbitpy에서 mandatory 옵션은 Message 객체의 ..
2. Rabbitpy를 이용해 RabbitMQ 다루기 RabbitMQ를 사용할 때 참고하기 위해 작성한 글 HTML 삽입 미리보기할 수 없는 소스 개요 Python에서는 AMQP protocol에 따른 통신을 수행하기 위해 유명한 라이브러리인 "pika"라는 게 존재하지만 여기서는 "rabbitpy"를 통해 RabbitMQ를 다뤄보기로 하자. 본 포스팅에서 작성할 내용은 Exchange, Queue, Binding을 어떻게 코드로 작성하는가에 대한 기본적인 내용만 담을 것이다. rabbitpy, install $ pip install rabbitpy rabbitpy, Connection rabbitpy를 이용해 exchange, queue, binding 기타 등등의 다양한 기능을 다루기 전에 rabbitmq에 대한 connection을 열어야 한다. co..
1. RabbitMQ RabbitMQ를 사용할 때 참고하기 위해 작성한 글 Abstract RabbitMQ는 AMQP 스펙을 따르는 Message Broker이다. AMQP를 기반으로 구현됐지만 MQTT, STMOP, XMPP 등의 다양한 프로토콜을 사용할 수 있지만 AMPQ기반으로 사용하기 위한 RabbitMQ에 대해 알아보자 RabbitMQ 특징 RabbitMQ는 얼랭으로 작성됐으며 AMQP 스펙을 구현한 Message Broker이다. RabbitMQ는 얼랭으로 작성됐으며 이에 따라 다음과 같은 특징이 있다. 1. RabbitMQ의 클러스터는 서로 다른 서버 간의 얼랭의 IPC 시스템을 사용해 통신한다. 2. RabbitMQ는 얼랭 IPC를 사용해 메시지, 상태, 설정을 공유하고 각 서버를 동기화한다. 3. 얼랭 IPC..

728x90
반응형