METABYTE
Inapoi la articole

Spring Boot în producție: trei ani de învățăminte pe care documentația nu le include

Trei ani de producție cu Spring Boot pe Lakaut — lecții pe care nu le găsești în tutoriale, dar care te scapă de dureri de cap.

10 mai 20262 min de citit
Spring Boot în producție: trei ani de învățăminte pe care documentația nu le include

Trei ani de muncă în producție cu Spring Boot pe platforma Lakaut — nu e același lucru cu un simplu hello world. Am adunat atâtea loguri, incidente și metrici încât am putea scrie o carte „Cum să nu faci”. Documentația oficială, ca de obicei, descrie o lume perfectă în care setările implicite funcționează impecabil. Surpriză: nu funcționează.

Primul lucru pe care l-am descoperit: setările JVM implicite pe Railway nu sunt potrivite pentru încărcare reală. Memoria se scurge, GC intră în panică, iar tu privești cum aplicația crapă cu OutOfMemoryError. A trebuit să ajustăm manual -Xmx, -Xms și să alegem un garbage collector. G1GC ne-a salvat, dar nu imediat — am încercat tot, inclusiv Serial GC, care pare creat special pentru tortură.

Al doilea — logurile. Documentația recomandă să loghezi tot, dar în producție cu spațiu limitat ești pe calea falimentului. Am configurat nivelurile de log astfel încât în dev să fie detaliat, iar în producție doar critice. Și da, am adăugat rotația logurilor, altfel discul se umple într-o săptămână.

Al treilea — metricile. Micrometer și Prometheus sunt faine, dar fără alerte personalizate sunt inutile. Am pierdut săptămâni întregi să înțelegem ce metrici contează cu adevărat: latența p99, numărul de conexiuni active la DB, frecvența pauzelor GC. Fără ele, zbori în prăpastie cu ochii închiși.

Comentariul echipei METABYTE: Și noi am trecut prin asta, de aceea în proiectele noastre alocăm timp pentru reglajul infrastructurii. Și da, și noi am uitat odată să dezactivăm logurile de debug în producție — se întâmplă, dar mai bine nu.

URMATORUL PAS

Ti-a placut abordarea?

Aplicam aceleasi principii in proiectele clientilor: AI, automatizari, produse care nu se sting dupa lansare.