diff --git a/docs/contents.rst.inc b/docs/contents.rst.inc index 4154d08f1..175cfced5 100644 --- a/docs/contents.rst.inc +++ b/docs/contents.rst.inc @@ -49,6 +49,7 @@ different scenarios. scenarios/cli scenarios/gui scenarios/db + scenarios/network scenarios/admin scenarios/ci scenarios/speed diff --git a/docs/scenarios/network.rst b/docs/scenarios/network.rst new file mode 100644 index 000000000..0521089ed --- /dev/null +++ b/docs/scenarios/network.rst @@ -0,0 +1,32 @@ +Networking +========== + +Twisted +------- + +`Twisted `_ is an event-driven networking engine. It can be +used to build applications around many different networking protocols, including http servers +and clients, applications using SMTP, POP3, IMAP or SSH protocols, instant messaging and +`many more `_. + +PyZMQ +----- + +`PyZMQ `_ is the Python binding for `ZeroMQ `_, +which is a high-performance asynchronous messaging library. One great advantage is that ZeroMQ +can be used for message queuing without message broker. The basic patterns for this are: + +- request-reply: connects a set of clients to a set of services. This is a remote procedure call + and task distribution pattern. +- publish-subscribe: connects a set of publishers to a set of subscribers. This is a data + distribution pattern. +- push-pull (or pipeline): connects nodes in a fan-out / fan-in pattern that can have multiple + steps, and loops. This is a parallel task distribution and collection pattern. + +For a quick start, read the `ZeroMQ guide `_. + +gevent +------ +`gevent `_ is a coroutine-based Python networking library +that uses greenlets and libevent event loop. +