Kafka et Spring Boot : un projet complet en local

Un service reçoit les mesures de capteurs, un autre doit les traiter et les stocker. Si le premier appelle le second en REST, les deux sont liés : quand le second est arrêté ou lent, le premier ne peut plus rien livrer. Kafka se place entre les deux : le premier publie un message, le second le lit à son rythme. Cet article monte ce lien de bout en bout, en local : Kafka en mode KRaft dans Docker, un service Spring Boot qui publie une simple ligne de texte, un autre qui la lit, et une page qui affiche la partition et l’offset de chaque message. Tout le code est dans le tag phase-1 du dépôt public iot-monitoring-platform. ...

24 octobre 2026 · 10 min

Java dans Docker et Kubernetes : éviter OOMKilled

Le pod redémarre. kubectl get pod affiche OOMKilled, le code de sortie est 137. Pourtant, les logs ne montrent aucune OutOfMemoryError, et le heap était loin d’être plein. Ce n’est pas la JVM qui a manqué de mémoire : c’est le conteneur. Le noyau Linux a tué le processus parce qu’il a dépassé sa limite. Cet article montre ce que la JVM voit dans un conteneur, ce qui s’ajoute au heap, comment reproduire le kill, et comment régler la mémoire pour que tout tienne. Tous les exemples sont dans le dossier containers/ du dépôt public java-gc-lab. Ils utilisent les images officielles eclipse-temurin : pas d’image à construire. ...

23 octobre 2026 · 10 min