Created
March 11, 2011 19:22
-
-
Save al-maisan/866412 to your computer and use it in GitHub Desktop.
Python and messaging
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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