CONSUMER: 4개의 글
RabbitMQ를 이용하여 아래 그림과 같이 Publisher가 보낸 데이터를 Consumer가 수신 하는 예제를 구현한다. RabbitMQ User 설정 설치 된 RabbitMQ 웹 페이지에 접속 한다. (ex, 192.168.0.3:15672) Admin - Add a user - Username, Password 입력 - Add user 버튼 클릭 User 등록. 예제에서는 admin/admin으로 설정 virtual hosts 권한 설정 필요 아래 그림과 같이 admin에 virtual hosts 권한을 설정 한다. pika 설치 pika : RabbitMQ/AMQP 관련 파이썬 플러그인 $ pip install pika Rabbit MQ Publisher ( publisher.py ) # Man..
경쟁 소비자 패턴(Competing Consumer Pattern) 여러 소비자가 동시에 메시지 큐에 있는 메시지를 처리 할 수 있도록 하는 설계 패턴 사용량이 많은 시스템에서 요청으로 인한 병목 현상을 피하기 위해 소비자 사이에서 부하를 분산 함 다수의 메시지를 분산 처리 하기 위한 환경에 적합 수신을 위한 서비스가 여러 메시지를 동시에 처리 할 수 있도록 다수의 경쟁 소비자를 단일 채널에 생성 송신자가 메시지를 메시지 큐에 전달하면, 소비자 중에서 하나의 수신자가 메시지 수신 Consumer( consumer.py ) connection = pika.BlockingConnection(pika.URLParameters('amqp://admin:admin@192.168.0.3:5672/')) channe..
이번 글에서는 하나의 이상의 Consumer를 등록해 Queue에 발행된 메세지를 소비해보도록 하겠습니다. 1. 언제 Multiple Consumer를 사용하는가? Multiple Consumer는 Producer의 메시지 발행속도가 Subscriber의 Consume 속도보다 빠를 때 빠른 메세지의 처리를 위해 사용합니다. 예를 들어 아래 그림과 같이 Producer는 0.5s 마다 메세지를 발행하고, Consumer는 1.5s마다 하나씩 메시지를 처리한다면 시간이 지날 수록 Queue에는 처리되지 못한 메세지가 점점 쌓이게 됩니다. 따라서 1개 이상의 Consumer를 사용해 메세지를 보다 빠른속도로 처리함으로써 이와 같은 문제점을 개선할 수 있습니다. 쌓여있는 숙제를 여러명이서 나눠 빨리빨리 처리한..
Kafka - Kafka Consumer(카프카 컨슈머) Java&CLI 이전 포스팅에서 kafka producer를 java 소스기반으로 예제를 짜보았습니다. 이번 포스팅은 kafka consumer를 java 소스로 다루어보려고 합니다. Kafka Producer(카프카 프로듀서)가 메시지를 생산해서 카프카의 토픽으로 메시지를 보내면 그 토픽의 메시지를 가져와서 소비(consume)하는 역할을 하는 애플리케이션, 서버 등을 지칭하여 컨슈머라고 한다. 컨슈머의 주요 기능은 특정 파티션을 관리하고 있는 파티션 리더에게 메시지를 가져오기 요청을 하는 것이다. 각 요청은 컨슈머가 메시지 오프셋을 명시하고 그 위치로부터 메시지를 수신한다. 그래서 컨슈머는 가져올 메시지의 위치를 조정할 수 있고, 필요하다면 이..