From: Aaron Schulz Date: Sat, 4 Mar 2017 19:27:57 +0000 (-0800) Subject: Add dynomite comments to WANObjectCache X-Git-Tag: 1.31.0-rc.0~3876^2 X-Git-Url: http://git.cyclocoop.org/clavettes/images/siteon3.jpg?a=commitdiff_plain;h=d46d8bb58d4edfc4a4ed144d39c9a054516a5514;p=lhc%2Fweb%2Fwiklou.git Add dynomite comments to WANObjectCache Change-Id: I7ac9961e6acdecf90b766643138bb64b5ea9ec4a --- diff --git a/includes/libs/objectcache/WANObjectCache.php b/includes/libs/objectcache/WANObjectCache.php index 75c79a98fc..f0a439a21a 100644 --- a/includes/libs/objectcache/WANObjectCache.php +++ b/includes/libs/objectcache/WANObjectCache.php @@ -44,15 +44,20 @@ use Psr\Log\NullLogger; * * The simplest purge method is delete(). * - * There are two supported ways to handle broadcasted operations: + * There are three supported ways to handle broadcasted operations: * - a) Configure the 'purge' EventRelayer to point to a valid PubSub endpoint - * that has subscribed listeners on the cache servers applying the cache updates. + * that has subscribed listeners on the cache servers applying the cache updates. * - b) Ignore the 'purge' EventRelayer configuration (default is NullEventRelayer) - * and set up mcrouter as the underlying cache backend, using one of the memcached - * BagOStuff classes as 'cache'. Use OperationSelectorRoute in the mcrouter settings - * to configure 'set' and 'delete' operations to go to all DCs via AllAsyncRoute and - * configure other operations to go to the local DC via PoolRoute (for reference, - * see https://github.com/facebook/mcrouter/wiki/List-of-Route-Handles). + * and set up mcrouter as the underlying cache backend, using one of the memcached + * BagOStuff classes as 'cache'. Use OperationSelectorRoute in the mcrouter settings + * to configure 'set' and 'delete' operations to go to all DCs via AllAsyncRoute and + * configure other operations to go to the local DC via PoolRoute (for reference, + * see https://github.com/facebook/mcrouter/wiki/List-of-Route-Handles). + * - c) Ignore the 'purge' EventRelayer configuration (default is NullEventRelayer) + * and set up dynomite as cache middleware between the web servers and either + * memcached or redis. This will also broadcast all key setting operations, not just purges, + * which can be useful for cache warming. Writes are eventually consistent via the + * Dynamo replication model (see https://github.com/Netflix/dynomite). * * Broadcasted operations like delete() and touchCheckKey() are done asynchronously * in all datacenters this way, though the local one should likely be near immediate.