bui a écrit 1 commentaire

  • [^] # Re: nginx et la modularité

    Posté par  . En réponse à la dépêche NAXSI, un module de filtrage HTTP pour nginx. Évalué à 10.

    Bonjour,

    En effet, le fait que nginx ne supporte pas de modules 'dynamiques' est quelque peu contraignant, mais cela se fait au profit d'une architecture de module beaucoup plus simple que apache par exemple.
    De plus, cela a certains avantages ici :

    • nginx est capable de faire un 'reload' SANS perdre les connexions actives, de par l'architecture worker / master process utilisée. On peux donc faire une upgrade de nginx avec 0 downtime

    • l'utilisation de librairies dynamiques/partagés a un impact en termes de performances (nginx a été notamment écrit pour gérer le problème dit des C10K

    • enfin, le fonctionnement, et la coordination nécessaire entre les modules (de part le mode de fonctionnement de nginx) rendrait le maintien de l'API complexe

    • finalement, l'utilisation d'un modèle statique permet de réduire au maximum les librairies embarquées

    De plus, nginx fonctionne comme une machine à état asynchrone, ce qui implique une architecture et un code assez particulier, puisque une grande partie du code doit être ré-entrante.

    voila !