Builder Pattern pour des objets avec plusieurs paramètres
Comment utiliser le Builder Pattern pour créer des objets lisibles, immuables et validés, de la rédaction manuelle à Lombok @Builder et record.
Design patterns, conception de systèmes, microservices et briques des grands systèmes.
Comment utiliser le Builder Pattern pour créer des objets lisibles, immuables et validés, de la rédaction manuelle à Lombok @Builder et record.
Comprendre et implémenter les deux stratégies de cache populaires que sont cache-aside et write-through, ainsi que comment choisir un TTL approprié dans Spring Boot 3.
Étude de cas sur la conception d'un système de ventes aux enchères: modèle de données, API, gestion des enchères simultanées par mise à jour conditionnelle, Lua Redis, protection anti-sniping et fermeture sécurisée de session.
Étude de cas : conception d'un système de stockage de fichiers avec exigences, modèle de données, API d'upload par chunk, partage, synchronisation, gestion des conflits et pics de charge.
Étude de cas : conception d'un système de suivi de commandes et localisation de livreur en temps réel avec Spring Boot, Kafka, Redis GEO et SSE. Analyse des conditions de concurrence, cohérence et pics de charge.
Étude de cas : concevoir un système de vouchers sans surallocation. Utilisez UPDATE atomique, Redis Lua, Kafka et des réservations avec expiration.
Comprendre comment Kafka divise les partitions parmi les consumer groups, quand un rebalance se produit et comment réduire son impact dans une application Spring Boot.
Comment implémenter un distributed lock avec SET NX PX et Lua script, utiliser Redisson avec watchdog, écrire des tests avec Testcontainers et éviter les pièges courants.
Comment utiliser le Saga pattern pour maintenir la cohérence des données entre plusieurs microservices sans 2PC, avec exemple d'orchestration en Java 21 et tests.
Découvrez comment PostgreSQL gère les transactions, les quatre niveaux d'isolement, les anomalies comme lost update et write skew, ainsi que la configuration et les retry dans Spring Boot.
Utilisez Bloom filter sur Redis (via Redisson) pour bloquer les requêtes interrogeant des clés inexistantes avant qu'elles ne traversent le cache et ne frappent la base de données.
Utilisez Debezium pour lire le WAL de PostgreSQL, envoyer tous les changements de données vers Kafka et les consommer avec Spring Boot, sans modifier le code d'écriture des données.
Étude de cas sur la conception d'un fil d'actualité : exigences, estimation d'échelle, modèle de données, API, comparaison du fan-out on write et on read, modèle hybride et traitement des influenceurs, cohérence, pics de charge.
Étude de cas de conception : estimation d'échelle, génération de codes sans collision, cache multi-niveaux, gestion des conflits d'alias, cohérence des données et pics de charge.
Étude de cas pour autocomplete sur une marketplace : exigences, modèle de données, API, Redis top-K par préfixe, Kafka, gestion des clés chaudes et pics de charge.
Étude de cas de conception d'un système de scoring de fraude sous 50ms. Cet article couvre les exigences, le modèle de données, l'API, les contrôles de vélocité Redis, l'idempotence, l'outbox avec Kafka et la gestion des pics de trafic.
Étude de cas sur la conception d'un chat 1-1 et de groupe : modèle de données avec seq, API d'envoi idempotente, statuts de lecture comme watermark, outbox + Kafka et gestion des pics de charge.
Étude de cas sur la conception d'un système de facturation d'abonnement comprenant le modèle de données, les API, le flux de renouvellement, la prévention des doubles débits, le pattern outbox avec Kafka et la gestion des pics de charge.
Étude de cas de conception d'un système de livraison : besoins, modèle de données, API, machine à états, allocation aux livreurs, outbox Kafka et mises à jour temps réel.
Étude de cas sur la conception d'un système de location de voitures : prévention des surréservations avec PostgreSQL, dépôt idempotent, annulation avec remboursement et gestion des pics de charge pendant les fêtes du Têt.