기초소개

개요

ØMQ - 가이드 - 분산 어플리케이션 환경에서 지능형 전송레이어로써 ØMQ를 어떻게 사용하는지 설명합니다. By Pieter Hintjens

ØMQ 참조 설명서 - ØMQ API를 설명합니다. By Martin Sustrik and Martin Lucina

예제 코드

이것은 두개의 다른 원격 Publishers에서 데이타를 수집하여 로컬 Subscribers에게 전문을 보내는 필터를 보여줍니다.

import zmq
import time
context = zmq.Context()

subscriber = context.socket (zmq.SUB)
subscriber.connect ("tcp://192.168.55.112:5556")
subscriber.connect ("tcp://192.168.55.201:7721")
subscriber.setsockopt (zmq.SUBSCRIBE, "NASDAQ")

publisher = context.socket (zmq.PUB)
publisher.bind ("ipc://nasdaq-feed")

while True:
    message = subscriber.recv()
    publisher.send (message)

소개

Ilya Grigorik 글:

ZeroMQ를 시작하는 가장 좋은 방법은 몇가지 실습 예제를 통하는 것입니다. 단연 새로운 개념이 아니며, 쉽게 구현이 가능합니다.

Brian Buchanan 글:

"ØMQ에서 비동기라는 것은 물리적 연결 설정, 분리, 재연결과 같은 자체 기능을 통해 효과적으로 해당 사용자에게 전달된다는 것을 의미합니다. 메시지 수신이 가용하지 않을 때는 큐잉될 수 있습니다."

Andrew Cholakian 글:

"특별한 상황을 제외하고는, ZeroMQ를 가지고 시간을 보내다 보면 원시적인 TCP나 UDP 소켓을 사용해야만 된다는 생각은 없어진다."

Martin Lucina and Martin Sustrik 글:

"ØMQ는 메시징 시스템이며, 다른 접근방법으로 했을 경우 발생되는 이슈들을 없애 준다. 새로운 API나 복잡한 Wire프로토콜을 사용하는 것보다 ØMQ는 배우기 쉽고 한두시간에 네트워크 프로그램을 마스터 할 수 있게 한다. 성능은 소켓과 동일하거나 종종 초과하기도 한다."

Nicholas Piel 글:

"ZeroMQ는 많은 노력없이도 복잡한 통신 시스템을 설계 할 수 있도록하는 메시징 라이브러리입니다."

Zed Shaw 글:

"ZeroMQ는 소켓과 같이 많은 API를 사용하고, 소켓과 같게 느껴집니다. 또한 사용자가 원하는 다양한 메시징 패턴을 제공한다. zmq_socket를 사용하는 것 만으로 multicast, request/reply 등 많은 패턴을 제공합니다."

PT비디오 자료소개

영국 PHP 컨퍼런스에서 Ian Barber씨가 "ZeroMQ가 답이다"라는 제목으로 설명한 영상입니다.

Pieter Hintjens은 0MQ가 어떻게 대규모 분산 어플리케이션을 구축하는데 발생되는 문제들을 풀어 줄것인지를 설명합니다.

Backgrounders 및 백서

  • Martin Sustrik가 broker-based와 brokerless 메시징 방식의 차이점을 설명하고 있다.
  • Pieter Hintjens는 edge-to-edge방식의 신뢰성이 broker-based방식의 신뢰성보다 더 확장가능하고 강력한지를 설명하고 있다.