본문 바로가기
728x90

python rabbitmq2

[RMQ] Python으로 배우는 RabbitMQ 튜토리얼(5) - Topic 1. Topic이란 RabbitMQ에서 토픽이란 routing_key 전체가 일치하거나 일부 패턴과 일치하는 모든 Queue에 메세지를 전달하는 역할을 한다. 위와 같이 어떤 토픽이냐에 따라 해당 토픽에 관심이 있는 Consumer에게 메세지를 선별적으로 보내게 된다. 이때 토픽에서 와일드 카드 기능을 제공하게 되는데, 1. *(star) : 한 단어만을 지정 가능 2. #(hash) : 한 단어 이상을 지정 가능 예를 들어, *.orange.* 의 경우 a.orange.b 형식으로 매칭되고, a.b.orange의 경우에는 매칭되지 않는다. 또한 lazy.#의 경우, lazy.aa.bb 혹은 lazy.cc.dd 혹은 lazy.abcd.efghi 모두와 매칭 된다. 토픽의 장점은 임의의 라우팅 키를 가질 .. 2022. 1. 20.
[RMQ] Python으로 배우는 RabbitMQ 튜토리얼(2) - Work Queue - Pika Python Client 사용 - 필수조건 : pika RabbitMQ Client 버전 1.0.0. - RabbitMQ 5672 port process running 첫번째 실습에서 명명된 큐에 메세지를 보내고 받는 프로그램을 만들었다면, 이번 글에서는 시간이 오래 걸리는 작업에 사용하거나 여러 작업자에게 분산하는데 사용할 작업 대기열(Work Queue)에 대해서 배워보려고 한다. (시간이 걸리는 작업을 구현하기 위해 time.sleep()함수를 사용하여 처리할 예정이다.) 작업대기열(Work Queue)의 장점은 작업을 병렬로 처리할 수 있다는 점이다. 먼저 두 개의 worker.py 스크립트를 실행하여 메세지를 처리할 Consumer(worker)를 2개 생성한다. 튜토리얼(1)의 p.. 2022. 1. 12.
728x90