En aquest tema, explorarem la configuració dinàmica en NGINX Plus, una característica avançada que permet modificar la configuració del servidor sense necessitat de reiniciar-lo. Aquesta funcionalitat és especialment útil en entorns de producció on la disponibilitat contínua és crítica.

Conceptes Clau

  1. Configuració dinàmica: Capacitat de canviar la configuració del servidor en temps real.
  2. API de gestió de NGINX Plus: Interfície que permet interactuar amb NGINX Plus per realitzar canvis dinàmics.
  3. Zones compartides: Àrees de memòria compartida utilitzades per emmagatzemar informació de configuració que pot ser modificada dinàmicament.

Avantatges de la Configuració Dinàmica

  • Alta disponibilitat: No cal reiniciar el servidor per aplicar canvis.
  • Flexibilitat: Permet ajustar la configuració en resposta a canvis en la càrrega o altres condicions operatives.
  • Eficiència: Redueix el temps d'inactivitat i millora la resposta del sistema.

API de Gestió de NGINX Plus

L'API de gestió de NGINX Plus és una interfície RESTful que permet realitzar operacions de configuració dinàmica. A continuació, es mostren algunes de les operacions més comunes:

  • Afegir o eliminar servidors backend: Permet ajustar els servidors que formen part d'un grup de balanceig de càrrega.
  • Modificar paràmetres de balanceig de càrrega: Com ara els pesos dels servidors.
  • Consultar l'estat del sistema: Obtenir informació sobre el rendiment i l'estat dels servidors backend.

Exemple d'ús de l'API de Gestió

A continuació, es mostra un exemple de com afegir un servidor backend utilitzant l'API de gestió de NGINX Plus.

curl -X POST -d '{"server": "192.168.1.10:80"}' http://localhost:8080/api/6/http/upstreams/backend/servers

En aquest exemple, estem afegint el servidor 192.168.1.10:80 al grup de balanceig de càrrega anomenat backend.

Zones Compartides

Les zones compartides són àrees de memòria que permeten emmagatzemar informació de configuració que pot ser modificada dinàmicament. Aquestes zones són utilitzades per a diverses funcionalitats, com ara:

  • Sessions de balanceig de càrrega: Emmagatzemar informació sobre les sessions actives.
  • Limitació de velocitat: Emmagatzemar informació sobre les sol·licituds per a la limitació de velocitat.

Exemple de Configuració de Zones Compartides

A continuació, es mostra un exemple de com configurar una zona compartida per a la limitació de velocitat.

http {
    limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;

    server {
        location / {
            limit_req zone=one burst=5;
            proxy_pass http://backend;
        }
    }
}

En aquest exemple, estem configurant una zona compartida anomenada one amb una mida de 10 MB i una taxa de 1 sol·licitud per segon. Aquesta zona és utilitzada per limitar la velocitat de les sol·licituds a /.

Exercici Pràctic

Objectiu

Configurar un grup de balanceig de càrrega dinàmicament utilitzant l'API de gestió de NGINX Plus.

Passos

  1. Configura un grup de balanceig de càrrega en el fitxer de configuració de NGINX Plus.
http {
    upstream backend {
        zone backend 64k;
    }

    server {
        location / {
            proxy_pass http://backend;
        }
    }
}
  1. Afegeix un servidor backend utilitzant l'API de gestió.
curl -X POST -d '{"server": "192.168.1.10:80"}' http://localhost:8080/api/6/http/upstreams/backend/servers
  1. Verifica que el servidor ha estat afegit correctament.
curl http://localhost:8080/api/6/http/upstreams/backend/servers

Solució

Després de seguir els passos anteriors, hauríeu de veure el servidor 192.168.1.10:80 llistat com a part del grup de balanceig de càrrega backend.

Resum

En aquest tema, hem explorat la configuració dinàmica en NGINX Plus, incloent l'ús de l'API de gestió i les zones compartides. Hem vist com aquestes funcionalitats permeten modificar la configuració del servidor en temps real, millorant la flexibilitat i l'eficiència operativa. A més, hem realitzat un exercici pràctic per reforçar els conceptes apresos.

© Copyright 2024. Tots els drets reservats