On Jul 27, 2007, at 11:36 , Brad Fitzpatrick wrote:
On a cache miss, instead of going to the database directly, issue a
Gearman request with a "uniq" property, then the Gearman server will
combine all the duplicate requests and only dispatch one worker. The
worker than puts it in the cache before returning to the Gearman
router
(gearmand), and then gearmand multiplexes the result back to all
waiting
callers.
Gearman looks interesting. I sort of read this as a distributed
lock server until looking at the description more (note: gearmand
link doesn't work from http://www.danga.com/gearman/)
A distributed lock server would actually solve the problem fairly
well, though. It'd be easy enough to use memcached as a distributed
advisory lock server, but to do it without polling, it'd need to block.
That subscription thing is sounding more interesting...
--
Dustin Sallings