Arhitektura Nginx je dizajnirana za postizanje visokih performansi, stabilnosti i skalabilnosti. Ispod je detaljan opis ključnih komponenti arhitekture Nginx:
Master Process
Ovo je glavni proces za Nginx, također poznat kao nadređeni proces. Njegova odgovornost je upravljanje radničkim procesima i drugim uobičajenim zadacima upravljanja. Čita master process i obrađuje konfiguraciju, zatim stvara radne procese za obradu zahtjeva klijenata.
Worker Process
Jednom stvoreni od strane master process, radnički procesi postaju podređeni procesi Nginx. Broj radnih procesa može se konfigurirati kako bi se zadovoljili zahtjevi performansi i resursa sustava. Svaki worker process radi neovisno, ne dijeli memoriju i ne komunicira izravno jedan s drugim, što povećava stabilnost Nginx.
Event-driven Architecture
Nginx koristi event-driven architecture za obradu zahtjeva. Umjesto upotrebe zasebnih niti za svaki zahtjev, Nginx koristi asinkrone funkcije za rukovanje događajima. To omogućuje jednom worker process da istovremeno obrađuje više zahtjeva, optimizirajući sistemske resurse i osiguravajući visoke performanse.
Event Module
Nginx podržava različite event module za rad s operativnim sustavom i mrežnom infrastrukturom. Ovi moduli pomažu Nginx u interakciji s kernelom i izbjegavaju nepotrebno blokiranje i čekanje, smanjujući opterećenje sustava.
Worker Connections
Ovo je broj veza koje svaka worker process može istovremeno obraditi. Ova konfiguracija omogućuje prilagodbu broja veza kako bi se osigurala optimalna izvedba na temelju resursa sustava i prometa zahtjeva klijenta.
Proxy i Load Balancing
Nginx može djelovati kao proxy poslužitelj, dopuštajući mu usmjeravanje zahtjeva od klijenata do backend aplikacijskih poslužitelja unutar sustava. To omogućuje implementaciju distribuiranih aplikacija i load balancing na više poslužitelja, poboljšavajući performanse i pouzdanost.
Zahvaljujući svojoj fleksibilnoj arhitekturi visokih performansi, Nginx postao je jedan od najpopularnijih web poslužitelja i proxyja široko korištenih diljem svijeta, ispunjavajući sve veće zahtjeve obrade zahtjeva i podataka na internetu.