ETC Tunisie
ETC Tunisie
Tunisie

#05 - Service de Caching Intelligent Multi-Niveaux

CachingPerformance MarketingSystèmes distribuésBackend (SpringBoot)Cloud, Virtualisation & DevOpsObservability & MetricsSystèmes temps réelSécurité et ScalabilitéFull-stack (Laravel/React)

Publié il y a 6 jours

Stage
⏱️3-6 mois
💼Présentiel
📅Expire dans 8 jours
Intègre les mots-clés de l’offre.

Description du poste

Objectif du projet

  • Développer un service de cache générique, intelligent et distribué pour applications web/mobile afin de réduire les appels API (−60 à −80%), avec invalidation automatique, TTL configurables, stratégies multiples et monitoring temps réel.

Fonctionnalités attendues

  • Architecture multi-niveaux: L1 (in-app), L2 Redis (distributed), L3 navigateur (LocalStorage/IndexedDB)
  • Stratégies d’éviction: LRU, LFU, FIFO, TTL-based
  • TTL dynamiques par type: ex. devises 24h, users 1h, products 5min, static 7j
  • Invalidation intelligente: via events/WebSockets quand données modifiées
  • Warm-up automatique: pré-chargement au démarrage
  • Cache stampede prevention: mécanisme de lock contre l’effet troupeau
  • Monitoring temps réel: hit/miss rate, latence, taille, top keys, stats par type
  • Dashboard administrateur: vidage sélectif (clé, pattern, tout)
  • API simple: décorateurs (@Cacheable, @CacheEvict) et méthodes explicites
  • Compression automatique: gzip pour mémoire/bande passante
  • Cache warming proactif: prédiction et pré-chargement

Compétences développées

  • Architecture de systèmes distribués et performance
  • State machines et gestion d’états
  • Notifications temps réel (WebSockets)
  • Design d’APIs REST scalables
  • Job scheduling et tâches asynchrones
  • Observabilité & métriques

Technologies suggérées

  • Node.js / NestJS, Redis / Redis Cluster
  • WebSockets (Socket.io), RxJS
  • Prometheus (metrics), Docker
  • Angular (demo app)