It's the message, stupid: python & amqp

Summary

[EuroPython 2011] Muharem Hrnjadovic - 21 June 2011 in "Track Ravioli"

"/>

Description

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 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 and a small selection of these will be presented to whet your appetite :-)

AMQP is a fairly new and open messaging standard with a number of freely available open source message brokers (RabbitMQ, ZeroMQ, qpid etc.) with different features and performance trade-offs.

In the course of the presentation you will be - introduced to AMQP concepts and jargon - introduced to available Python AMQP bindings (focussing on an asynchronous (txAMQP) and a synchronous variant (most likely kombu) - shown code examples demonstrating how to use these 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: