views:

725

answers:

4

What messaging platform would be the best choice for asynchronous message queuing (publish, consume) between PHP and Java apps? I have looked at RabbitMQ, ActiveMQ, OpenAMQ, Tibco Rendezvous, and Websphere MQ. Persistence is required. I love the idea of AMQP and using an open protocol, but I've heard of stability issues with RabbitMQ, which seems to be the leading AMQP implementation.

Messaging load will not be quite to "Twitter-style" scale, but will be fairly high volume and require very high availability.

An officially supported PHP API would definitely get points. Both Java and PHP systems will be actively producing and consuming.

+1  A: 

Hi,

for what is worth, officially supported PHP Stomp client based on http://stomp.codehaus.org/PHP will be released soon (next week hopefully).

Will post it here when it's out.

Cheers Dejan

Dejan Bosanac
Thanks. Officially supported by whom, the PHP team? I guess my main concern is that there doesn't seem to be a standard way of doing this in a PHP app. These apps will be mission critical and I'd like something "proven". Is ActiveMQ my best bet?Thanks,Will
Will
By http://fusesource.com/ . Cheers, Dejan
Dejan Bosanac
A: 

Second Life devs have been analyzing a lot of different messaging solutions. It's point of view is Python and C++ but many solutions works for PHP too. Good read.

raspi
A: 

Have you looked at Qpid? The implementation of AMQP hosted by Apache? It is available in both Java and C/C++ versions with interfaces for most languages.

John Apps
A: 

ActiveMQ, in my experience, is very problematic. Lost messages and unexplained outages have left me wondering why people use it.

I've used rabbitMQ in the past and have deployed it into a large production infrastructure and it works great. The implementation was Java based - but with a stomp adapter it should be possible.

In terms of scalability, rabbitMQ was great and easy to configure and get running.

Thanks for the feedback on AMQ. Does Rabbit work well with STOMP? AMQP support for PHP seems lacking. I also had a lot of issues getting Rabbit up and running. Failures starting with the version provided by Ubuntu APT.Startup scrips hangs forever and says FAILED, check startup log, where startup says:Starting all nodes...Starting node [email protected] 1.6.0 (AMQP 8-0)...broker runningAny good unofficial documentation/tips you could point me too?
Will