Difference between revisions of "Cfengine3 Messaging"

From PostgreSQL_wiki
Jump to: navigation, search
(0mq)
(Synchronous Request/Response)
Line 12: Line 12:
 
* Exclusive Pair
 
* Exclusive Pair
 
== Synchronous Request/Response ==
 
== Synchronous Request/Response ==
  +
Client Requests
  +
<pre>
  +
  +
</pre>
  +
Server Replies
  +
<pre>
  +
socket = context.socket(zmq.REP)
  +
socket.bind("tcp://10.68.71.184:8080")
  +
  +
# Wait for next request from client
  +
message = socket.recv()
  +
print("Received request: %s" % message)
  +
  +
# Send reply back to client
  +
socket.send(b"World")
  +
</pre>
  +
 
== Asynchronous Request/Response ==
 
== Asynchronous Request/Response ==
 
== Publish/Subscribe ==
 
== Publish/Subscribe ==

Revision as of 17:47, 6 December 2015

> what would be killer is a combination of the latest cfengine
> (with promise theory) and 0mq.
http://lists.zeromq.org/pipermail/zeromq-dev/2011-February/009491.html

0mq

ZeroMQ comes with 5 basic patterns

  • Synchronous Request/Response
  • Asynchronous Request/Response
  • Publish/Subscribe
  • Push/Pull
  • Exclusive Pair

Synchronous Request/Response

Client Requests


Server Replies

socket = context.socket(zmq.REP)
socket.bind("tcp://10.68.71.184:8080")

#  Wait for next request from client
message = socket.recv()
print("Received request: %s" % message)

#  Send reply back to client
socket.send(b"World")

Asynchronous Request/Response

Publish/Subscribe

Push/Pull

Exclusive Pair