Return-Path: Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: (qmail 95789 invoked from network); 1 Sep 2010 18:37:42 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 1 Sep 2010 18:37:42 -0000 Received: (qmail 48567 invoked by uid 500); 1 Sep 2010 18:37:41 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 48507 invoked by uid 500); 1 Sep 2010 18:37:40 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 48499 invoked by uid 99); 1 Sep 2010 18:37:40 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Sep 2010 18:37:40 +0000 X-ASF-Spam-Status: No, hits=2.9 required=10.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [74.125.83.52] (HELO mail-gw0-f52.google.com) (74.125.83.52) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Sep 2010 18:37:35 +0000 Received: by gwj20 with SMTP id 20so4589274gwj.11 for ; Wed, 01 Sep 2010 11:37:14 -0700 (PDT) Received: by 10.101.173.21 with SMTP id a21mr8901077anp.63.1283366234181; Wed, 01 Sep 2010 11:37:14 -0700 (PDT) Received: from [192.168.1.36] ([63.76.154.130]) by mx.google.com with ESMTPS id c7sm17098218ana.18.2010.09.01.11.37.12 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 01 Sep 2010 11:37:13 -0700 (PDT) From: Jon Brisbin Mime-Version: 1.0 (Apple Message framework v1081) Content-Type: multipart/alternative; boundary=Apple-Mail-9-116352944 Subject: Re: ANN: CouchDB access via AMQP Date: Wed, 1 Sep 2010 13:37:10 -0500 In-Reply-To: To: user@couchdb.apache.org References: <403CB55B-DCDF-4260-AD17-EA53150E1E2D@jbrisbin.com> Message-Id: <602E5288-1777-4CEB-83CB-FFE2233099EC@jbrisbin.com> X-Mailer: Apple Mail (2.1081) --Apple-Mail-9-116352944 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On Sep 1, 2010, at 1:20 PM, Russell Branca wrote: > Very interesting. Heroku is soon offering an AMQP solution. I'm not > familiar with using plugins with AMQP, I wonder if it would be > possible to integrate that with heroku? I'm intrigued by the idea of > being able to kick off requests from a local heroku instance into > AMQP, and then forward them off to a remote CouchDB instance. Been > looking at options for doing that. I just started watching your github > repo. I'll play around with it this week if I get a chance. Keep us > posted, looks very cool! >=20 I'm not sure what the integration between RabbitMQ and Heroku apps is = going to look like. I'm not sure what kind of control you'll have over = the broker itself. I'm assuming there will be shared brokers, or at = least some way to provision a broker for your application's use. I'll = get with the RabbitMQ folks and see if I can figure something out. Please let me know if you encounter issues. I'll be adding some more = configuration ability shortly, as well as make the HTTP sending code = more robust in case of errors. I've been testing new functionality = against CouchDB as the HTTP endpoint, so it should perform the basic = operations. I was having some trouble today with the interaction between the plugin = and the 2.0.0 release version of the broker. Seems there are some = incompatibilities. Please let me know on success/failure as I'll be = looking at it too. jb >=20 > -Russell >=20 > On Mon, Aug 30, 2010 at 6:15 AM, Jon Brisbin wrote: >> 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. >>=20 >> 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. >>=20 >> 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. >>=20 >> Like the RabbitMQ source and other plugins (from which I drew = significant inspiration), this alpha plugin is MPL-licensed and = available on Github: >>=20 >> http://github.com/jbrisbin/rabbitmq-webhooks >>=20 >> 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. >>=20 >> Thanks! >>=20 >> J. Brisbin >> http://jbrisbin.com/ >>=20 >>=20 >>=20 >>=20 >>=20 >>=20 >>=20 Thanks! J. Brisbin http://jbrisbin.com/ --Apple-Mail-9-116352944--