A arquitetura do Nginx é projetada para alcançar alto desempenho, estabilidade e escalabilidade. Abaixo está uma descrição detalhada dos principais componentes da Nginx arquitetura:
Master Process
Este é o processo principal do Nginx, também conhecido como processo pai. Sua responsabilidade é gerenciar processos de trabalho e outras tarefas comuns de gerenciamento. O master process lê e processa a configuração e, em seguida, cria processos de trabalho para lidar com solicitações de clientes.
Worker Process
Uma vez criados pelo master process, os processos de trabalho tornam-se processos filhos de Nginx. O número de processos de trabalho pode ser configurado para atender aos requisitos de desempenho e recursos do sistema. Cada um worker process opera de forma independente, não compartilha memória e não se comunica diretamente entre si, o que aumenta a estabilidade do Nginx.
Event-driven Architecture
Nginx usa um event-driven architecture para lidar com solicitações. Em vez de usar threads separados para cada solicitação, Nginx usa funções assíncronas para manipular eventos. Isso permite que um único worker process lide com várias solicitações simultaneamente, otimizando os recursos do sistema e garantindo alto desempenho.
Event Module
Nginx suporta vários event module para trabalhar com o sistema operacional e infraestrutura de rede. Esses módulos ajudam Nginx a interagir com o kernel e evitam bloqueios e esperas desnecessários, reduzindo a carga no sistema.
Worker Connections
Este é o número de conexões que cada um worker process pode manipular simultaneamente. Essa configuração permite a personalização do número de conexões para garantir o desempenho ideal com base nos recursos do sistema e no tráfego de solicitações do cliente.
Proxy e Load Balancing
Nginx pode atuar como um proxy servidor, permitindo rotear solicitações de clientes para servidores de aplicativos de back-end dentro do sistema. Isso permite a implantação de aplicativos distribuídos e load balancing em vários servidores, aprimorando o desempenho e a confiabilidade.
Graças à sua arquitetura flexível e de alto desempenho, Nginx tornou-se um dos mais populares servidores web e proxies amplamente utilizados em todo o mundo, atendendo às crescentes demandas de processamento de solicitações e dados na internet.