Nous sommes à l'aide de Zend Cache avec une memcached backend pointant vers une AWS cluster ElastiCache avec 2 nœuds de cache. Notre cache de configuration ressemble à ceci:
$frontend = array(
'lifetime' => (60*60*48),
'automatic_serialization' => true,
'cache_id_prefix' => $prefix
);
$backend = array(
'servers' => array(
array( 'host' => $node1 ),
array( 'host' => $node2 )
)
);
$cache = Zend_Cache::factory('Output', 'memecached', $frontend, $backend);
Nous n'avons pas remarqué des problèmes avec le cache dans le passé lors de l'utilisation d'un seul EC2 serveur à lire et à écrire à partir du cache.
Cependant, nous avons récemment introduit un deuxième EC2 serveur et tout à coup, nous voyons des problèmes lors de l'écriture dans le cache d'un serveur et de la lecture à partir d'un autre. Les deux serveurs sont gérés par le même compte AWS, et ni le serveur a des problèmes d'écriture ou de lecture de la mémoire cache individuellement. La même configuration de cache est utilisé pour les deux.
Serveur exécute $cache->save('hello', 'message');
Les appels ultérieurs $cache->load('message');
à partir d' Un Serveur à renvoyer le résultat attendu de bonjour.
Toutefois, lorsque le Serveur B exécute $cache->load('message');
, nous obtenons faux.
Aussi loin que ma compréhension de ElastiCache, le serveur qui effectue la demande de lecture devrait pas avoir d'incidence sur le cache de la valeur retournée. Quelqu'un peut-il éclairer sur ce point?