May 27, 2026

SamoiskljuДЌenje i limiti

Problem koji nas sputava

Svaki developer zna – kad se kôd zapetlja, cijela aplikacija puče u paniku. Samoisključivanje je tajni mehanizam koji mora raditi, a ne čini.

Što je zapravo samoisključivanje?

U osnovi, to je kontrola pristupa koja sprječava da dva procesa istovremeno mijenjaju istu varijablu. Bez nje, podaci se razbijaju kao staklo pod udarcem.

Granice koje se često zanemaruju

Gornja granica broja threadova, timeouti, memorijski limit – sve to je krhko. Ako se ne postave pravilno, sistem se sruši prije nego što korisnik shvati da je problem.

Zašto se sve više govori o limitima?

Jer se aplikacije skaliraju brže nego što timovi mogu pratiti. Jednostavno – više korisnika, veći pritisak, veći rizik.

Praktični primjeri

Na primjer, baza podataka uzima lock na redak. Ako se lock ne otpušta, sve ostalo se zaustavlja. To je kao da zatvorite vrat na prometnoj cesti i očekujete da će promet i dalje teći.

Kako postaviti granice?

Prvo: definirajte maksimalni broj istovremenih zahtjeva. Drugo: implementirajte timeout koji vraća grešku prije nego što se sve zablokira. Treće: monitorirajte memoriju i CPU u real-timeu.

Alati u igri

Redis lock, ZooKeeper, PostgreSQL advisory lock – svaki ima svoje prednosti. Odaberite onaj koji odgovara vašem stacku i budite konzistentni.

Uobičajene greške

Jedna od najčešćih je korištenje statičkih varijabli za lock bez resetiranja. To je kao da ostavite ključ u bravi i zaboravite ga.

Link za dodatno čitanje

Za dublje uranjanje u temu, pogledajte SamoiskljuДЌenje i limiti.

Akcijski korak

Implementirajte watchdog timer koji automatski otpušta lock ako traje duže od tri sekunde – i to odmah.

RECENT POSTS