El Lunes 21 Julio 2008 21:40:19 Robert Greig escribió:
> Hi,

Hi Robert

> It's great that you are building on top of qpid.

Thanks, we found the Qpid Python stack very well designed, we were able to 
plug our Twisted implementation without too much effort.

> For those of us who live in the stone age and don't know much about
> Twisted can you give us a quick summary of what an AMQP user gets from
> using Twisted?

Well, Twisted departs from the traditional synchronous way of building network 
applications, through an asynchronous API, making it very scalable. One of 
the main advantages is that you don't need to deal with threads and their 
implying risks. Since the GIL imposes both memory and performance penalties 
if you use many threads (i.e. for reading from a socket), using an 
asynchronous framework (such as Twisted) will help you build very scalable 
architectures.

However, having to code in an asynchronous way is not straightforward, and if 
you already have some code that uses recv/send (or some other synchronous 
blocking functions), you might find it a bit hard to convert it to use 
Twisted. There are some facilities to ease the transition, such as the 
inlineCallbacks decorator, which we used heavily to convert the Qpid tests to 
use txAMQP.

> If I am a Python developer and want to use Qpid or AMQP, should I be
> downloading Twisted?

As always, it depends on the problem you want to solve. If it's a simple 
client, that it's going to execute once in a while, maybe not. But, if your 
problem is complex and needs to be scalable, I recommend you to give Twisted 
a try.

Cheers.

Reply via email to