De architectuur van Nginx is ontworpen om hoge prestaties, stabiliteit en schaalbaarheid te bereiken. Hieronder volgt een gedetailleerde beschrijving van de belangrijkste componenten van de Nginx architectuur:
Master Process
Dit is het hoofdproces van Nginx, ook wel het bovenliggende proces genoemd. Zijn verantwoordelijkheid is het beheer van werkprocessen en andere algemene managementtaken. Het master process leest en verwerkt de configuratie en creëert vervolgens werkprocessen om verzoeken van klanten af te handelen.
Worker Process
Eenmaal gemaakt door de master process, worden de werkprocessen onderliggende processen van Nginx. Het aantal werkprocessen kan worden geconfigureerd om te voldoen aan de prestatie- en resourcevereisten van het systeem. Elk worker process werkt onafhankelijk, deelt geen geheugen en communiceert niet rechtstreeks met elkaar, wat de stabiliteit van Nginx.
Event-driven Architecture
Nginx gebruikt een event-driven architecture om verzoeken af te handelen. In plaats van voor elk verzoek afzonderlijke threads te gebruiken, Nginx worden asynchrone functies gebruikt om gebeurtenissen af te handelen. Hierdoor kan één enkele worker process meerdere verzoeken gelijktijdig afhandelen, systeembronnen optimaliseren en hoge prestaties garanderen.
Event Module
Nginx ondersteunt verschillende event module om te werken met het besturingssysteem en de netwerkinfrastructuur. Deze module helpen Nginx bij de interactie met de kernel en voorkomen onnodig blokkeren en wachten, waardoor de belasting van het systeem wordt verminderd.
Worker Connections
Dit is het aantal verbindingen dat elk worker process tegelijkertijd kan verwerken. Met deze configuratie kan het aantal verbindingen worden aangepast om optimale prestaties te garanderen op basis van systeembronnen en clientverzoekverkeer.
Proxy En Load Balancing
Nginx kan fungeren als een proxy server, waardoor het verzoeken van clients naar backend-applicatieservers binnen het systeem kan routeren. Dit maakt de implementatie van gedistribueerde applicaties en load balancing over meerdere servers mogelijk, waardoor de prestaties en betrouwbaarheid worden verbeterd.
Dankzij de flexibele en krachtige architectuur Nginx is het uitgegroeid tot een van de meest populaire webservers en proxy's die wereldwijd worden gebruikt en voldoet het aan de toenemende eisen van het verwerken van verzoeken en gegevens op internet.