RabbitMQ 범범조조 2022. 4. 1. 20:43
참조 https://www.rabbitmq.com/tutorials/tutorial-three-python.html 소개 이번 포스팅에서는 하나의 메시지를 여러개의 작업자에게 배달 할 수 있는 방법에 대해서 알아 봅니다. 이 패턴은 게시(Publish) / 구독(Subscribe) 으로 알려져 있습니다. 시나리오 게시(Publish) / 구독(Subscribe) 패턴을 이해하기 위해서, 간단한 로깅 시스템을 만들어 봅ㄴ디ㅏ. 이것은 두개의 프로그램으로 구성되어 있는데, 첫 번째는 로그 메시지를 방출하고 두번째는 그것을 받아서 출력합니다. 로깅 시스템에서 모든 동작하는 Receiver 프로그램 복사본은 메시지를 받을 것입니다. 하나의 Receiver는 로그를 디스크에 저장하고, 동시에 다른 Receiver..
더 읽기
RabbitMQ 범범조조 2022. 3. 31. 18:02
소개 안녕하세요. 오늘은 RabbitMQ를 로컬 환경에서 설치하는 것이 아니라, Docker Image 를 다운로드 받아 Container로 실행하는 방법에 대해서 알려 드리려고 합니다. RabbitMQ를 로컬에 직접 설치해서 사용하려면 사전에 미리 설치해야 하는 프로그램들이 있어서 시간적으로 오래 걸리는 단점이 있습니다. 때문에, 로컬에 설치하지 않고 Docker Container 로 실행하는 법을 정리합니다. Docker Hub 확인 RabbitMQ Docker Hub 사이트에 접속해서 직접 최신 버전 혹은 다른 버전의 RabbitMQ 의 이미지를 로컬로 다운받아 Container로 실행할 수 있습니다. 저는 가장 최신 버전의 RabbitMQ 이미지를 다운로드 받아서 테스트 진행합니다. Docker ..
RabbitMQ 범범조조 2022. 3. 31. 17:49
참조 https://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html 목적 C# 코드로 RabbitMQ 연결하여 WorkQueue, Exchange 구현 하도록 코드 작성 진행합니다. Work Queue 의 역할은 RabbitMQ 의 Queue 에 메시지를 저장하여 Consumer 에게 전달 하도록 하는 역할을 합니다. Exchange 는 Consumer 가 작업을 완료 한 후, Excnage 방식으로 RabbitMQ 에 메시지를 저장할 시, 해당 결과값을 출력하는 역할을 합니다. 예제 코드 using RabbitMQ.Client; using RabbitMQ.Client.Events; using System.Text; var factory = new Connec..
RabbitMQ 범범조조 2022. 3. 30. 20:13
참조 https://www.rabbitmq.com/tutorials/tutorial-one-python.html 소개 작업 큐(Work Queue) 의 주된 아이디어는 자원 집약적인 작업을 즉시 수행하지 않고 완료 될 때까지 기다리자 않아야 합니다. 대신 나중에 수행 할 작업을 예약 합니다. 시나리오 작업을 메시지로 캡슐화 하여 큐로 보냅니다. 백그라운드에서 실행 중인 작업자 프로세스는 작업을 팝업하고 결국 작업을 실행합니다. 많은 작업자를 실행하면 작업이 그들 사이에 공유 됩니다. Worker import time import pika connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel =..
RabbitMQ 범범조조 2022. 3. 30. 19:09
참조 https://www.rabbitmq.com/tutorials/tutorial-one-python.html 소개 RabbitMQ는 메시지 브로커로서 메시지를 받고 전달하는 역학을 합니다. 우체국 같은 역할이라고 생각하면 됩니다. 우편을 보내는 사람이 우편물을 우편함에 넣고 우편 배달부가 우편을 우체국에 전달하게 됩니다. 그리고 우체국에서 분류된 우편을 다시 우편 배달부가 받는 사람에게 전달합니다. 여기서 RabbitMQ와 우체국 간의 가장 큰 차이점은 우편물을 다루지 않고 대신 바이너리 로 된 메시지를 받아 저장하고 전달합니다. 용어 정리 Producer : Producing은 메시지를 전송한다는 의미입니다. 메시지를 보내는 Application을 Producer 라고 부릅니다. Queue : Ma..
RabbitMQ 범범조조 2022. 3. 30. 18:07
목적 Fast API 서비스 하나를 생성한 후, 특정 Rest API Execute 명령이 실행 되면 RabbitMQ Queue 에 메시지 저장 되는지 테스트 진행합니다. RabbitMQ Manager Docker Container 실행 먼저 RabbitMQ Manager 이미지를 다운받아 Container 로 실행 시킵니다. Docker 실행 명령어는 다음과 같습니다. docker run -d --hostname rabbitManage --name rabbitManage -p 30000:15672 rabbitmq:3-management Fast API, uvicorn, pika 모듈 설치 다음으로는 Fast API, ucivron, pika 3개의 모듈들을 설치 진행합니다. 설치 명령어는 아래와 같습니..
RabbitMQ 범범조조 2022. 3. 30. 18:02
목적 개인 Local PC 에 RabbitMQ 설치를 진행합니다. 운영체제는 Windows 기준으로 설치 작성 진행합니다. 1. Erlang 설치 RabbitMQ 를 Windows 에서 사용하기 위해서, 먼저 Erlang 64bit 가 설치 되어 있어야 합니다. Erlang 설치 주소는 다음과 같습니다. Erlang 설치 주소 위 사이트에 들어가서 Download Windows installer 버튼을 클릭하여 Erlang 을 설치 진행 합니다. 2. RabbitMQ 설치 앞서 Erlang 을 설치 완료 하였다면, RabbitMQ 설치 진행 합니다. RabbitMQ 설치 주소는 다음과 같습니다. RabbitMQ 설치 주소 위 사이트에 들어가서 Install:Windows 옵션을 선택하여, Direct D..
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.