Skip to content

Instantly share code, notes, and snippets.

@al-maisan
Created March 11, 2011 19:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save al-maisan/866412 to your computer and use it in GitHub Desktop.
Save al-maisan/866412 to your computer and use it in GitHub Desktop.
Python and messaging
Messaging is a well established domain in information technology and can
greatly improve the scalability and throughput of a system when employed
appropriately. Message queues can be used to achieve
- spatial decoupling i.e. the systems that produce and consume
messages may be deployed on different machines, networks,
continents etc.
- temporal decoupling i.e. a system can enqueue a message and
carry on without waiting for the message consumer.
We use e.g. messaging in OpenQuake (http://openquake.org) to distribute
calculations of seismic hazard and the respective risk to human lives
and infrastructure.
There is a huge number of messaging patterns identified in the industry
[7] and a small selection of these will be presented to whet your
appetite :-)
AMQP [1] is a fairly new and open messaging standard with a number of
freely available open source message brokers (RabbitMQ [2], ZeroMQ [3],
qpid [4] etc.) with different features and performance trade-offs.
In the course of the talk you will be introduced to
- AMQP concepts and jargon
- available Python AMQP bindings (focussing on an asynchronous
(txAMQP [5]) and a synchronous variant (most likely kombu [6]))
Furthermore there will be many code examples demonstrating how to use
the Python bindings.
The presentation (45 minutes in total) is structured as follows:
7.5 minutes for messaging concepts and patterns
7.5 minutes for AMQP concepts
5 minutes for an overview of the Python bindings for AMQP
10 minutes for txAMQP examples (asynchronous bindings)
10 minutes for kombu examples (synchronous bindings)
5 minutes for questions
References:
[1] http://www.amqp.org/
[2] http://www.rabbitmq.com/
[3] http://www.zeromq.org/
[4] http://qpid.apache.org/
[5] https://launchpad.net/txamqp
[6] http://ask.github.com/kombu/
[7] http://www.amazon.com/dp/0321200683/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment