On Sat, Oct 1, 2011 at 6:14 AM, Behrad Zari <[email protected]> wrote: >>The new externals feature in Apache CouchDB 1.1.0 supports >concurrency, it >>uses http instead of stdin/stdout. >>>http://davispj.com/2010/09/26/new-couchdb-externals-api.html > Thanks Robert, I knew about the Http Proxy feature new in 1.1! > In our deployment our business logic is stored code (js/py) on CouchDB that > should be run at server-side, we have Apache Web server as our front end. So > that may not be the case for us to use CouchDB's http proxy for running > server-side code! > In our case I think solutions are to > 1) use mod-python handlers in Apache (and write business logic code in Python > => No code sharing through the whole system) > 2) ADD!!! NodeJS to our architecture as processes managed by CouchDB > os-daemons to which Apache routes requests > 3) Write fake CouchDB update handlers and use them as Stored-JS-code-Runners > (with couchapp code sharing through documents), and call these handlers from > mod-python to fulfill the business logic. > 4)?
The http proxy was written for people that wanted things to behave exactly as the old externals in terms of URL namespaces and so on. As you point out its not necessary if you already have an upstream proxy that you can route directly to your external, at which point you really don't have much need for them. If you're already managing multiple daemons in production like this there's less use case as you can just install the "external" as a normal app server as a 3-tier style architecture.
