Što je Reaktivni Sustav?
Zamislite super-pametni, fleksibilni računalni sustav koji može podnijeti sve što mu zadate. To je u osnovi ono što je Reaktivni Sustav. Temelji se na četiri glavne ideje:
- Responzivan: Brzo odgovara, poput prijatelja koji uvijek odmah odgovara na vaše poruke.
- Otporan: Oporavlja se od problema, poput gumene loptice koja uvijek odskoči kad je ispustite.
- Elastičan: Raste ili se smanjuje ovisno o broju korisnika, poput balona koji se napuhuje ili ispuhuje.
- Vođen porukama: Svi njegovi dijelovi međusobno komuniciraju glatko, poput dobro organiziranog tima koji si međusobno prosljeđuje poruke.
Zašto je cool
Reaktivni sustavi su uvijek spremni za rad, čak i pod velikim opterećenjem, a ako jedan dio zakaže, cijeli sustav nastavlja raditi. Učinkovito koriste računalne resurse, štede energiju i novac, istovremeno olakšavajući dodavanje novih značajki bez ometanja cijelog sustava [3].
Kako to funkcionira
Reaktivni sustavi koriste neke napredne tehnološke trikove:
- Razbijaju velike zadatke na manje dijelove (mikroservisi).
- Koriste posebne načine za obradu velike količine informacija odjednom (arhitektura vođena događajima).
- Imaju pametne načine za prosljeđivanje poruka između različitih dijelova (asinkrona komunikacija).
Šira slika
Sve više tvrtki koristi reaktivne sustave jer odlično funkcioniraju za moderne aplikacije i web stranice. Održavaju stvari glatkim, čak i kada ih istovremeno koriste milijuni ljudi. Gradeći aplikacije na ovaj način, tehnološki stručnjaci mogu osigurati da vaše omiljene web stranice i aplikacije rade odlično, bez obzira koliko postanu popularne!
Naše iskustvo
Primijenili smo sličnu reaktivnu arhitekturu u jednoj od naših Spring Boot aplikacija, MediCare Companion. Koristeći Spring, izgradili smo sustav koji je responzivniji i skalabilniji. Ovaj pristup nam je pomogao da bolje upravljamo velikim opterećenjima, poboljšao performanse s neblokirajućim operacijama i učinio komunikaciju naših mikroservisa učinkovitijom [2]. Kao rezultat toga, naša aplikacija se sada može prilagoditi različitim radnim opterećenjima i dobro je pripremljena za budući rast.
[1] https://reactivemanifesto.org
[2] https://byteink.hr/full-stack-development/
[3] https://dev.to/yokwejuste/lets-talk-of-reactive-architecture-1j60