ZMQ – 그외 메시징패턴 구현하기

Publisher 패턴 – 단방향 브로드캐스팅 ZMQ를 이용한 소켓 네트워크 프로그래밍에서 두 번째로 소개되는 메시징패턴은 바로 Publisher vs Subscriber이다. 일전에 소개한 Request vs Response 패턴은 전통적인 메시지 교환의 방식으로 서버와 클라이언트가 서로 한 번씩 메시지를 주고 받는 식으로 통신하는 방식이었다. 또다른 메시징 패턴인 Publisher vs Subscriber는 다음과 같은 특징을 갖는 메시징 패턴이다. 서버는 퍼블리셔(Publisher)가 되어 일련의

ZMQ의 메시지 패턴

ZMQ의 기본 개념을 다루면서 ZMQ에서는 몇 가지 코어 메시징 패턴이 있다고 언급했다. 이 중에서 REQ-REP 패턴에 대해서는 에코 서버를 구현하면서 소개하였다. 이 글에서는 ZMQ 메시징 패턴에 대해 각각의 예시에 대해서 언급해보겠다. REQ-REP 패턴 REQ-REP 패턴은 전형적인 서버-클라이언트 통신에 사용될 수 있는 패턴이다. 클라이언트 -> 서버로 요청이 전송되고 다시 서버 -> 클라이언트로 응답이 전송된다. 이미 이전글에서

ZMQ의 기본 개념들

일전에 간단하게 ZMQ(Zero MQ)에 대한 내용을 간단히 정리해본 바 있는데, 이 때는 소켓에 대한 내용을 살펴보다가 흘러흘러 닿은 부분이라 제대로 설명하지 못하고 공식문서에 나오는 예제를 그대로 옮기는 수준이었다.  ZMQ는 소켓 프로그래밍 API를 대체할 수 있는 정말 괜찮은 라이브러리라는 생각이 들어서 활용할 폭이 넓다고 판단됐다. 다만 용어나 개념에 대한 약간의 선행지식이 필요한 부분이 있다. 오늘은 ZMQ에서

zmq poller

멀티프로세스와 프로세스간 통신 멀티프로세스에서 프로세스간 통신을 파이프로 하는 경우도 있지만, zmq를 이용하면 3개 이상의 멀티스레드가 쉽고 자유롭게 메시지를 주고 받는 것이 가능하다. 하나의 프로그램 내에서 분산처리를 위해서는 멀티프로세싱과 ZMQ를 이용하여 프로세스간 통신을 가능하게 할 수 있다. 간단한 예를 만들어보자. 서브 프로세스에서 n 개의 서버와 1개의 클라이언트를 만들고 로드밸런싱 형태로 각각의 서버가 클라이언트와 번갈아가며 통신하는 코드이다.