Bonjour,

As-tu envisager de prendre le problème à l'envers ? :-)
Au lieu de partir dans le développement d'une usine à gaz, tu ne pourrais
pas demander à tes clients de versionner leur bandeau de pub / images /
fichiers statiques ?
Tout est possible à ce niveau, rajouter "-vXXX" à la fin du fichier, le md5
du fichier etc etc...
Comme ça tu leur laisse gérer totalement leur "cache" via une mise à jour
de leur code / CSS.

Le problème de vider le cache est que ça peut prendre un temps fou, lors de
l'action, mais aussi pour la validation de ton script.

Personnellement, c'est ce qu'on fait ici chez Watchever (service de SVOD
allemand, concurrent européen de Netflix), donc autant te dire que la
gestion du cache, c'est une partie de mon quotidien. Au final avec cette
solution on a gagné du temps et de la souplesse !

Hésite pas si tu as des questions.

++

Le 10 février 2015 11:47, Julien Escario <esca...@azylog.net> a écrit :

> Bonjour,
> Maintenant que je parviens à gérer la durée de vie du cache nginx, je me
> heurte à un nouveau problème : son invalidation conditionnelle.
>
> Je m'explique : nous avons mis en place un frontal qui ne fait que du
> cache de ressources statiques avec nginx. Ca soulage les backend web et
> c'est plus rapide (on met le cache en ramdisk et on regarde pour du
> memcached).
>
> Tous contents, on est partis sur des valeurs astronomiques de cache des
> ressources statiques (genre 7 jours). Rapidement, on s'est fait engueulés
> parce que machin qui avait rajouté trois couleurs sur son bandeau de pub
> devait attendre 7 jours pour que ce soit visible.
>
> Alors on a rajouté la directive proxy_cache_bypass qui permet d'invalider
> une ressource cachées via une requête spécifique.
>
> Très bien, sauf qu'un jour on nous a demandé de pouvoir invalider le cache
> d'un grand nombre de fichiers d'un coup et on a dû scripter le truc avec du
> curl.
>
> J'aimerais bien passer la seconde là dessus en invalidant le cache d'un
> fichier statique automatiquement lorsque le fichier change sur le disque.
> La première qui me vient en tête est inotify : on monitore le filesystem
> et on génère une requête d'invalidation à chaque fois qu'un fichier
> statique change (avec le timestamp unix).
>
> Ca paraît faisable sur le papier mais je me demande si mon idée ne va pas
> se transformer en usine à gaz.
>
> Pour le moment, on a mis un cache à 5 min mais du coup, le cache commence
> gentiment à perdre de son intérêt, à part en cas de pic de consultation des
> sites.
>
> Du coup, est-ce quelqu'un a déjà rencontré/résolu ce type de problématique
> et peut partager ses conclusions ?
>
> Merci d'avance,
> Julien
> _______________________________________________
> Liste de diffusion du FRsAG
> http://www.frsag.org/
>



-- 
Ludovic Cartier
_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/

Répondre à