Forte dépendance envers une API, outil pour mettre en cache

Bonjour,

Avez-vous des outils à recommander pour mettre en place un cache de retour d’une API.
Imaginons le procédé suivant :

  • le cache est utilisé par défaut
  • si le cache a plus de 3 heures, on interroge l’API
  • si l’API répond, on écrase le cache
  • si l’API ne répond pas, on utilise le cache
  • on répond au client final

Est-ce qu’un outil comme Varnish peut faire l’affaire ?

1 « J'aime »

Tout depend si tu veux le faire au niveau applicatif (dans ton code) ou externe (genre via un reverse proxy) ?

Et bien, je veux ni l’un ni l’autre disons, ou les deux. Ce n’est pas un fin en soi j’ai l’impression.

Ce que je “veux” (la fin en soi donc) c’est que le client final ai un site qui réponde et qui réponde vite.

Or quand le client final accède au site, une API est appelée côté serveur avant de répondre et parfois le serveur du prestataire tombe donc l’API ne renvoie rien ou est fortement ralentie.

Je pense que dans ton cas d’un système de cache simple basé sur le temps alors la solution du reverse proxy est la plus judicieuse.

Ça t’evitera de changer ton code et tu auras un service dédié à ton cache avec sa propre autonomie.

Je sais que Varnish répond parfaitement à ce type de problématique néanmoins je serais à l’heure actuel incapable de te donner un sample de conf puisque je n’ai jamais configuré un Varnish.

Par contre tu peux aussi te tourner vers Nginx qui excelle en tant que reverse proxy qui offre des fonctionnalités similaire et à mon goût je trouve la configuration plus accessible :

http://wiki.nginx.org/ReverseProxyCachingExample

Human Coders - Le centre de formation recommandé par les développeur·se·s pour les développeur·se·s