I've recently been very impressed with ActiveMQ, "an open source (Apache 2.0 licensed) Java Message Service 1.1 (JMS) message broker packed with many enterprise features". While the documentation is lacking, I like its feature set. I've been interested in message queues such as JMS for a while now and Ranguard has generously given me a small cluster of machines to play with at work, which gives me an excuse to look at messaging as a way to distribute jobs to them.
There are a few ways to communicate with ActiveMQ: one of which is with Stomp (Streaming Text Orientated Messaging Protocol), an HTTP-like protocol which is terribly easy to implement. Need to produce or consume messages with ActiveMQ? I've created Net::Stomp which provides a nice simple interface to ActiveMQ from Perl.