DEALER e ROUTER sono socket, che possono consentire un facile ridimensionamento delle coppie REQ/REP.
Nella comunicazione diretta, REQ e REP stanno parlando in modo bloccante.
ROUTER - accettare le richieste - da parte REQ
router è in grado di accettare le richieste, aggiunge una busta con le informazioni su quel REQUESTEE, e rende questa nuova informazione disponibile per la successiva elaborazione tramite l'interconnessione del codice). Quando la risposta ritorna (in una busta), può restituire la risposta al richiedente.
CONCESSIONARIO - parla con i lavoratori - sul lato REP
commerciante si preoccupa per i lavoratori. Si noti che per rendere utilizzabile l'intera soluzione, i lavoratori devono connettersi al rivenditore, non viceversa.
DEALER consente anche il collegamento non di blocco con REP.
Alcuni codici di collegamento passano richieste in una busta al CONCESSIONARIO, il rivenditore gestisce la distribuzione delle richieste ai lavoratori (senza la busta) e le risposte successive al codice di interconnessione (sempre in una busta).
comunicanti codice
codice comunicanti è quello di mischiare i messaggi tra router e prese rivenditore.
versione più semplice è qui: http://zguide.zeromq.org/py:rrbroker
# Simple request-reply broker
#
# Author: Lev Givon <lev(at)columbia(dot)edu>
import zmq
# Prepare our context and sockets
context = zmq.Context()
frontend = context.socket(zmq.ROUTER)
backend = context.socket(zmq.DEALER)
frontend.bind("tcp://*:5559")
backend.bind("tcp://*:5560")
# Initialize poll set
poller = zmq.Poller()
poller.register(frontend, zmq.POLLIN)
poller.register(backend, zmq.POLLIN)
# Switch messages between sockets
while True:
socks = dict(poller.poll())
if socks.get(frontend) == zmq.POLLIN:
message = frontend.recv_multipart()
backend.send_multipart(message)
if socks.get(backend) == zmq.POLLIN:
message = backend.recv_multipart()
frontend.send_multipart(message)
fonte
2014-05-11 12:06:48
Grazie questo è stato un grande spiegazione semplice. Stavo leggendo il grande libro 'Node: the Right Way', ma ero un po 'perplesso dai loro diagrammi e la spiegazione di DEALER/ROUTERs ma il tuo ha chiarito. – armyofda12mnkeys