I would probably go ahead and develop the prototype without an extra http 
layer. If and when you need it, it isn't so difficult to add.

Using something like apache, nginx, or lighttpd gives you extra flexibility, 
either via virtual hosting or using reverse proxy configurations. Whether you 
really need that extra flexibility is application-specific.

But I think the main thing that might drive you to add a front-end httpd would 
be concurrent load: hundreds or thousands of concurrent requests, where many of 
them are for static resources. The nginx server has been shown to handle 
thousands of concurrent connections well. A MarkLogic http server defaults to 
32 threads, plus a backlog queue that defaults to 256. Both of those values can 
be increased, but I don't know if anyone has ever tested the behavior with 
thousands of concurrent connections. For a prototype and for most web 
applications that does not matter, but if you were deploying a mass-appeal web 
site then it might.

-- Mike

On 27 Jan 2012, at 07:29 , David Sewell wrote:

> We're getting ready to implement the prototype of a new project and will need 
> to 
> make a semi-final decision about whether to run it as a pure 100% 
> MarkLogic-driven web service (setting up a MarkLogic HTTP server on port 80), 
> or 
> whether to have Apache listen on port 80 and hand things off to MarkLogic as 
> necessary.
> 
> In the past, we have done the latter, using httpd.conf to set up virtual 
> hosting and proxying rules such that *.xqy URLs get handed off to MarkLogic 
> while Apache handles *.html?, etc. This was in an environment where we needed 
> to 
> be able to use certain Apache features such as the PHP modules, server-side 
> includes, etc., for legacy PHP/HTML content.
> 
> The new environment is being designed from the ground up in MarkLogic, so it 
> would seem much more economical and efficient to run only the MarkLogic 
> server. 
> Of course the ML HTTP server isn't as infinitely configurable as Apache 
> (which 
> is maybe a good thing, on the whole). This seems like the way to go, but from 
> other folks' experience are there any considerations that would lead you not 
> to 
> rely on MarkLogic for HTTP service in a single-server environment?
> 
> David
> 
> -- 
> David Sewell, Editorial and Technical Manager
> ROTUNDA, The University of Virginia Press
> PO Box 400314, Charlottesville, VA 22904-4314 USA
> Email: [email protected]   Tel: +1 434 924 9973
> Web: http://rotunda.upress.virginia.edu/
> _______________________________________________
> General mailing list
> [email protected]
> http://developer.marklogic.com/mailman/listinfo/general
> 

_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to