ZeroMQ device, proxy, monitoredqueue - goddes4/python-study-wiki GitHub Wiki

zmq.proxy(frontend, backend)

zmq.monitored_queue(frontend, backend, monitor, in_prefix, out_prefix)

  • zmq.Poller λ₯Ό μ΄μš©ν•˜μ—¬ proxy κ΅¬ν˜„ 및 monitor κΈ°λŠ₯ μˆ˜ν–‰

Device, ThreadDevice, ProcessDevice

  • λ°±κ·ΈλΌμš΄λ“œμ—μ„œ μ‹€ν–‰λ˜λŠ” ZMQ λ””λ°”μ΄μŠ€
  • μ†ŒμΌ“ μΈμŠ€ν„΄μŠ€λ₯Ό μ „λ‹¬ν•˜λŠ” ν•˜μ§€ μ•Šκ³ , μ†ŒμΌ“ νƒ€μž…μ„ 전달
  • μ΅œμ’…μ μœΌλ‘œ zmq.proxy() μ‹€ν–‰
dev = Device(zmq.QUEUE, zmq.DEALER, zmq.ROUTER)
dev.bind_in("tcp://*:5559")
dev.bind_out("tcp://*:5560")
dev.start()

Proxy, ThreadProxy, ProcessProxy

  • Device 에 λͺ¨λ‹ˆν„° μ†ŒμΌ“μ„ μΆ”κ°€
  • μ΅œμ’…μ μœΌλ‘œ zmq.proxy() μ‹€ν–‰
dev = Proxy(zmq.DEALER, zmq.ROUTER, zmq.PUB)  # Proxy(zmq.DEALER, zmq.ROUTER)
dev.bind_in("tcp://*:5559")
dev.bind_out("tcp://*:5560")
dev.bind_on("tcp://*:5561")
dev.start()

MonitoredQueue, ThreadMonitoredQueue, ProcessMonitoredQueue

  • Proxy μ—μ„œ λͺ¨λ‹ˆν„°μ—μ„œ μ‚¬μš©λ˜λŠ” message prefix μ„€μ • μΆ”κ°€ (κΈ°λ³Έ : 'in', 'out')
  • μ΅œμ’…μ μœΌλ‘œ zmq.monitored_queue 이용
dev = MonitoredQueue(zmq.DEALER, zmq.ROUTER, zmq.PUB, 'in', 'out')  # MonitoredQueue(zmq.DEALER, zmq.ROUTER)
dev.bind_in("tcp://*:5559")
dev.bind_out("tcp://*:5560")
dev.bind_on("tcp://*:5561")
dev.start()