couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Karel Minařík <ka...@karmi.cz>
Subject Couch and Varnish
Date Sun, 07 Nov 2010 10:28:49 GMT
Hello,

I'd like to ask if anyone has some experience to share regarding  
accelerating Couch with Varnish. I think lots of us are doing it, but  
can't find too much info around.

Originally, I thought it would be possible to use ETags with some  
proper Varnish configuration (eg. "accumulate" concurrent requests and  
pass only one to the backend, etc), but that seems not to be possible,  
since Varnish does not pass ETags to the backend [http://lists.varnish-cache.org/pipermail/varnish-misc/2010-November/004997.html

].

As I understand it now, the only way how to cache Couch's response  
would be with time-based caching, and either using the cached response  
until it auto-expires, or expire the cached response via PURGE commands.

Of course, it would be possible and technically trivial to send purge  
requests via the _changes feed or via the "update_notification"  
mechanism. As I see it, the tricky part would be to know which objects  
to purge, based on individual document changes. Because not only  
single documents, but also aggregated view results or fulltext queries  
would get cached. Of course, "there are two hard thing in computer  
science ...".

Has anyone put any thoughts/work into this?

Thanks,

Karel


Mime
View raw message