Python AMQP client and non-blocking sockets

We put together an add-on for py-amqplib that implements AMQP client with non-blocking sockets in python.

There are at least 2 scenarios where non-blocking sockets help, and both are applicable to consumers: 1) when you want to be able to interrupt consumer’s event loop without waiting for a next incoming message; 2) when you want to consume messages from multiple brokers (or over multiple connections) in a single event loop.

Special thanks to Barry Pederson who created py-amqplib library and made it available to the public.

Please see my announcement on rabbitmq-discuss mailing list. If your architecture still relies on custom or proprietary messaging protocols, I strongly suggest that you take a look at AMQP and especially RabbitMQ.

UPDATED: You can download the add-on directly from http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20080302/455b87df/attachment.txt

UPDATED x2: If you came to this post today (2009 and beyond), please note that this add-on has been out of date for some time. Non-blocking AMQP with python can be done today with txamqp if you are using twisted, or with pika.

Categories: rabbitmq | python |

EC2 for Web Hosting

Lack of persistent disk out of the box and IP addresses that are not preserved between reboots are indeed the 2 primary issues that make hosting public web sites on Amazon EC2 "tricky" (even though not impossible).Instead of addressing the problem head on, have you considered multisourcing your infrastructure? Let Amazon EC2 host your highly scalable computationally heavy logic, but host database layer and possibly thin static IP layer somewhere else. I described our multisourcing technique called VcubeV in my article in February 2008 issue of Linux Journal - www.linuxjournal.com/article/9915 .

With database writes way less frequent than reads and availability of excellent caching (memcached, for example), this is quite doable.

UPDATED 3/27/2008: This post is no longer entirely accurate. Please see http://aws.typepad.com/aws/2008/03/new-ec2-feature.html for more details on availability of static IP addresses in EC2.

Categories: cloud-computing |

VBulletin and spam bots

If you maintain a VBulletin installation and spam bots are causing trouble, these two links are a must read: http://www.vbulletin.com/forum/showthread.php?t=211647 and http://www.vbulletin.com/forum/showthread.php?t=205214

Categories: linux |

Wondering what I am doing at work?

Please feel free to take Elastic Server On Demand (ESOD) Self-Guided Tour and check out exciting capabilities that our product has to offer, including intuitive visual interface to assemble your custom application stacks and tools to transform them into a Virtual Machine image. Note that server management web GUI and package upgrade functionality are built right in! And you can upload your own software as well and include it in VMs alongside many standard open-source components.

And if you want to get going with Amazon EC2 but don’t want to waste your time or resources on bundling your physical machines into virtual, ESOD can help and you can be running your instance with your code in Amazon EC2 cloud in a matter of minutes.

In short, take a Dam Tour!

Categories: cohesiveft |

VcubeV

Update: Commercial counterpart of VcubeV is called VPN-Cubed, it's being developed by my employer CohesiveFT. VPN-Cubed is a vastly superior product, which eliminates various limitations of VcubeV and introduces new functionality. Check it out at http://cohesiveft.com/vpncubed.

This week on Elastic Server blog we announced the official name of the technology that I described in my article for Linux Journal. It’s now called VcubeV (the Vs are silent).

I love it. Did you notice association with P2P, especially if you take “P” to stand for “physical” instead of “peer”? “V” in our case is “virtual” (as in virtual machines) and cube is a next power after 2, which at least in my mind indicates VcubeV’s ability to work through firewalls and NAT (vs. 2 which assumes direct network connectivity).

Anyway, kudos to my colleagues at CohesiveFT for coming up with such a great name!

Categories: linux | cohesiveft |

Previous Page
Next Page