Architektūra Nginx: didelis našumas ir mastelio keitimas

Architektūra Nginx sukurta siekiant aukšto našumo, stabilumo ir mastelio. Žemiau pateikiamas išsamus pagrindinių architektūros komponentų aprašymas Nginx:

Master Process

Tai yra pagrindinis procesas Nginx, dar žinomas kaip pirminis procesas. Jos pareiga yra valdyti darbuotojų procesus ir kitas bendras valdymo užduotis. Nuskaito master process ir apdoroja konfigūraciją, tada sukuria darbuotojų procesus, kad galėtų apdoroti klientų užklausas.

Worker Process

Sukūrę master process darbuotojo procesai tampa antriniais Nginx. Darbuotojų procesų skaičius gali būti sukonfigūruotas taip, kad atitiktų sistemos našumo ir išteklių reikalavimus. Kiekvienas iš jų worker process veikia savarankiškai, nesidalija atmintimi ir tiesiogiai nebendrauja tarpusavyje, o tai padidina Nginx.

Event-driven Architecture

Nginx naudoja event-driven architecture užklausoms tvarkyti. Užuot naudoję atskiras gijas kiekvienai užklausai, Nginx įvykiams tvarkyti naudoja asinchronines funkcijas. Tai leidžia vienam worker process vienu metu apdoroti kelias užklausas, optimizuoti sistemos išteklius ir užtikrinti aukštą našumą.

Event Module

Nginx palaiko įvairius event module darbui su operacine sistema ir tinklo infrastruktūra. Šie moduliai padeda Nginx sąveikauti su branduoliu ir išvengti nereikalingo blokavimo bei laukimo, taip sumažinant sistemos apkrovą.

Worker Connections

Tai yra jungčių, kurias kiekvienas gali vienu metu apdoroti, skaičius worker process. Ši konfigūracija leidžia tinkinti jungčių skaičių, kad būtų užtikrintas optimalus našumas, pagrįstas sistemos ištekliais ir kliento užklausų srautu.

Proxy ir Load Balancing

Nginx gali veikti kaip proxy serveris, leidžiantis nukreipti klientų užklausas į sistemos užpakalinius programų serverius. Tai leidžia diegti paskirstytas programas load balancing keliuose serveriuose, didinant našumą ir patikimumą.

 

Dėl savo lanksčios ir didelio našumo architektūros Nginx jis tapo vienu populiariausių žiniatinklio serverių ir tarpinių serverių, plačiai naudojamų visame pasaulyje, tenkinančių didėjančius užklausų ir duomenų apdorojimo internete poreikius.