I've been working on a plugin for the RabbitMQ AMQP broker that relays messages from the broker to HTTP REST APIs. I call it the "webhooks" plugin.
I've been testing against CouchDB 1.0.1 and I'm able to bulk load/update/delete documents as fast as the server will take them (which is pretty fast ;). I plan to have responses sent back to AMQP reply queues, which means one could have fully-asynchronous access to CouchDB via AMQP consumers/producers. Right now I'm using it to asynchronously update my CouchDB server (comet will come into play here) but I suspect I'll add the ability to see the server response by implementing a "ReplyTo" feature. It's written in Erlang and uses the lhttpc module for HTTP functions. It runs directly inside the broker as a plugin. If anyone's interested in helping me with this, I'd love to get some feedback/patches that make the CouchDB access easier and more robust. I've also got some so more work to do to make it more configurable. Like the RabbitMQ source and other plugins (from which I drew significant inspiration), this alpha plugin is MPL-licensed and available on Github: http://github.com/jbrisbin/rabbitmq-webhooks Normal caveats apply: this is still experimental, mostly untested code. It will likely crash your broker if a bad error happens (URL is not responsive, bad reply codes, etc...). I'm still working on making it more bullet-proof. Thanks! J. Brisbin http://jbrisbin.com/
