NGINX, Inc. se enorgullece de anunciar la disponibilidad de NGINX Plus Release 9 (R9) , la última versión de nuestra plataforma de entrega de aplicação . Esta actualización proporciona dos nuevas características importantes: la capacidad de cargar dinámicamente extensiones enriquecidas a NGINX Plus sin la necesidad de binarios personalizados y equilibrio de carga UDP compatible comercialmente junto con nuestras capacidades de equilibrio de carga TCP y HTTP existentes.
Además de la nueva y emocionante funcionalidad de NGINX Plus R9 , presentamos nuevas opciones de precios y soporte. NGINX Plus ahora está disponible a través de un modelo de precios de “todo lo que pueda comer” que le permite un uso ilimitado en todas partes de su aplicação o empresa por un precio fijo. NGINX Plus ahora también se puede adquirir con tres niveles de soporte diferentes : Soporte básico 9×5 para aplicações que no son de producción, soporte profesional 24×7 por teléfono o correo electrónico y soporte empresarial 24×7 con respuestas garantizadas en 30 minutos.
Editor: para obtener más detalles sobre las nuevas características clave de NGINX Plus R9, consulte estos recursos relacionados.
Las nuevas características clave de NGINX Plus R9 son:
Módulos dinámicos : NGINX Plus ahora se puede ampliar en tiempo de ejecución con módulos cargables dinámicamente. Esto significa que puede seleccionar solo las extensiones que desee e instalarlas directamente desde el repositorio NGINX Plus, accesible a través de los comandos apt
y yum
estándar. Con el tiempo, distribuiremos un conjunto cada vez mayor de extensiones probadas y totalmente certificadas para nuestro software.
Los módulos más populares creados por NGINX y de terceros, como el soporte para el lenguaje de programación Lua, ya se han convertido al nuevo formato cargable dinámicamente. También hemos publicado instrucciones para que los propietarios de módulos de terceros conviertan sus módulos al nuevo formato, lo cual es necesario antes de que los módulos se puedan agregar a nuestro repositorio.
Equilibrio de carga UDP : con la incorporación del equilibrio de carga UDP a sus capacidades existentes de equilibrio de carga TCP y HTTP, NGINX Plus ahora puede equilibrar la carga de casi cualquier aplicação. Agregamos equilibrio de carga UDP en NGINX Open Source el mes pasado, y con este lanzamiento estamos ampliando el soporte a NGINX Plus con funciones avanzadas adicionales. NGINX Plus monitorea los servicios UDP con controles de estado activos, brinda visibilidad crítica con una gran cantidad de estadísticas y le permite agregar y eliminar servidores dinámicamente .
UDP se utiliza comúnmente para protocolos livianos que no son de naturaleza transaccional, como DNS (resolución de nombres de dominio en direcciones), syslog (registro liviano) y RADIUS (un protocolo de autenticación). UDP también está surgiendo como uno de los protocolos preferidos para aplicações de IoT debido a sus bajos requisitos de ancho de banda. NGINX Plus puede entregar y equilibrar la carga de estas aplicações existentes y nuevas con facilidad.
Descubrimiento de servicios mediante registros SRV
de DNS : las aplicações basadas en microservicios son dinámicas: los servicios se pueden ampliar, reducir y trasladar según demanda. Una buena forma de mantenerse al tanto del estado actual de sus servicios es utilizar el descubrimiento de servicios . Muchas plataformas de descubrimiento de servicios, como Consul y etcd (SkyDNS), ofrecen una interfaz DNS para que los clientes (como NGINX Plus) soliciten información sobre los servicios descubiertos.
El número de puerto que utilizan los servicios a menudo se asigna de forma dinámica. Como resultado, las plataformas de descubrimiento de servicios utilizan registros DNS SRV
que incluyen información del número de puerto. NGINX Plus ahora admite registros SRV
de DNS y puede usar solicitudes de DNS para consultar el registro de servicios para conocer las ubicaciones de sus servicios, incluida la información del puerto asignado dinámicamente.
Precios de la aplicación NGINX Plus : para garantizar el máximo rendimiento y tiempo de actividad durante períodos de alto crecimiento, estacionalidad o tráfico elástico, muchas aplicações requieren una infraestructura dinámica. Estas aplicaciones también suelen utilizar microservicios o arquitecturas distribuidas y utilizan contenedores o máquinas virtuales para el tiempo de ejecución. Pagar por instancia u hora de máquina de software no ofrece la flexibilidad ni la rentabilidad que requieren estas aplicaciones modernas. Para estos casos de uso, presentamos el precio de la aplicación NGINX Plus.
El precio de la aplicación NGINX Plus ofrece un uso ilimitado, “todo lo que pueda comer”, de las capacidades extendidas de NGINX Plus y los binarios con soporte comercial por un precio fijo por aplicação por año. No importa cuántas máquinas virtuales, contenedores, nodos, conexiones simultáneas o usuarios tenga, usted paga una tarifa baja durante todo el año. Implemente NGINX Plus cuando, donde y como lo necesite dentro de la infraestructura de aplicaciones y en entornos de desarrollo, prueba, preparación, recuperación ante desastres y producción: no necesita preocuparse por facturas impredecibles basadas en el consumo ni necesita esperar para obtener claves de licencia cuando necesita aumentar la capacidad repentinamente.
Esta sección proporciona una descripción detallada de todas las nuevas características y funcionalidades de NGINX Plus R9.
NGINX y NGINX Plus tienen una arquitectura modular. Su funcionalidad principal se puede ampliar mediante módulos escritos tanto por desarrolladores externos como por el equipo central de ingeniería de NGINX. Estos módulos agregan funcionalidad clave, como la incorporación de scripts Lua y la geolocalización de usuarios según su dirección IP. Hay más de 100 módulos de terceros y más de 60 módulos oficiales NGINX disponibles. Incluimos 56 de estos en el paquete base nginx-plus y 10 adicionales en el paquete nginx-plus-extras (la lista completa está disponible en Especificaciones técnicas de NGINX Plus ).
Con esta versión, los módulos adicionales en el paquete nginx‑plus‑extras (tanto de terceros como NGINX oficial) también se pueden cargar dinámicamente en el paquete base NGINX Plus, nginx‑plus . Esto le permite cargar sólo los módulos adicionales que realmente necesita.
Estos módulos están disponibles en el repositorio NGINX Plus y planeamos agregar módulos al repositorio en los próximos meses. Alentamos a todos aquellos que actualmente usan el paquete nginx‑plus‑extras a migrar al paquete principal nginx‑plus porque dejaremos obsoleto el paquete nginx‑plus‑extras en una versión posterior.
Probamos cada módulo dinámico cargándolo en el núcleo NGINX Plus antes de ejecutar nuestra amplia gama de pruebas de lanzamiento, de modo que podemos estar seguros de que (cuando no está configurado) el módulo no interfiere con el funcionamiento correcto de NGINX Plus. Realizaremos un seguimiento de las actualizaciones de los módulos y emitiremos nuevas compilaciones en cada lanzamiento y si se informa un problema de seguridad crítico entre lanzamientos.
Tener módulos dinámicos nos permite distribuir un único binario NGINX Plus con la funcionalidad que todos usan. Los administradores pueden luego elegir los módulos adicionales que desean utilizar.
Para instalar y cargar módulos dinámicamente, realice los siguientes pasos. Se supone que ha configurado su herramienta de administración de paquetes para recuperar archivos de NGINX, Inc. en lugar de la distribución del proveedor del sistema operativo.
Utilice la herramienta de administración de paquetes estándar de su sistema operativo ( apt
o yum
, por ejemplo) para instalar la imagen base nginx-plus y los módulos que desea cargar dinámicamente (repita el comando de instalación para cada módulo). Los siguientes comandos son apropiados para sistemas basados en Debian.
# apt-get update # apt-get install nginx-plus # apt-get install nombre-del-módulo
Los nombres que puedes sustituir por module‑name
en esta versión son:
módulo nginx-plus-geoip
encabezados de módulo nginx-plus-más
filtro de imagen del módulo nginx-plus
nginx-plus-module-lua
módulo pasajero nginx-plus
módulo nginx-plus-perl
módulo nginx-plus-rtmp
conjunto de módulos nginx-plus-misc
módulo nginx-plus-xslt
El directorio /etc/nginx/modules se crea automáticamente con enlaces simbólicos a las ubicaciones de instalación de los archivos .so para los módulos seleccionados.
Notas:
Si está utilizando el paquete nginx‑plus‑extras para una versión anterior de NGINX Plus, debe eliminarlo antes de instalar el paquete nginx‑plus R9. Para los sistemas basados en Debian, el conjunto apropiado de comandos es:
# apt-get update # apt-get remove nginx-plus-extras # apt-get install nginx-plus # apt-get install nombre-del-módulo
Algunos módulos no están disponibles para ciertas versiones del sistema operativo debido a limitaciones del mismo. Para obtener detalles y descripciones de los módulos, consulte las Especificaciones técnicas de NGINX Plus .
En el contexto principal (de nivel superior) en /etc/nginx/nginx.conf , agregue una directiva load_module
para cada módulo cargable dinámicamente:
load_module módulos/ nombre-del-módulo .so;
Verifique la nueva configuración para verificar su validez sintáctica y vuelva a cargar NGINX Plus.
# nginx -t && nginx -s recargar
Los módulos enumerados en nginx.conf se cargan dinámicamente en NGINX Plus.
El mes pasado lanzamos el equilibrio de carga UDP en NGINX Open Source , y NGINX Plus R9 extiende esa capacidad con controles de estado, monitoreo de estado extendido y reconfiguración sobre la marcha.
En cuanto al equilibrio de carga TCP, la configuración para el equilibrio de carga UDP va en el contexto del flujo
. Y, al igual que el equilibrio de carga HTTP y TCP, el equilibrio de carga UDP utiliza un grupo ascendente para definir el conjunto de servidores de origen que proporcionan el servicio basado en UDP y el algoritmo a utilizar al equilibrar la carga del tráfico entre los servidores.
La configuración también define un servidor virtual para cada puerto UDP, con una directiva proxy_pass
que nombra el grupo ascendente que proporciona el servicio asociado:
stream { upstream dns_upstreams { tiempo_menor; servidor dns-server-1-ip :53; servidor dns-server-2-ip :53; } servidor { escuchar 53 udp ; escuchar 53; #tcp proxy_pass dns_upstreams; tiempo_de_espera_proxy 1s; respuestas_proxy 1; registro_de_errores logs/dns.log; } }
Este ejemplo de configuración es para equilibrar la carga de los servicios DNS. En el bloque ascendente
, configuramos el algoritmo de menor tiempo, para que NGINX Plus envíe cada solicitud al servidor que actualmente tiene menos “conexiones” y responde más rápido. En el bloque del servidor, escuchamos tanto el tráfico UDP como el TCP, porque el DNS puede funcionar con ambos protocolos. La directiva proxy_responses
controla cuántas respuestas recibe NGINX Plus del servidor ascendente antes de liberar los recursos asociados con la “conexión” UDP. Dado que el DNS es un protocolo simple de solicitud-respuesta, una respuesta normalmente es suficiente.
NGINX Open Source incluye comprobaciones de estado básicas para UDP. Si un servidor UDP ascendente no responde a una solicitud dentro de un período de tiempo de espera definido, o devuelve un error ICMP, NGINX y NGINX Plus dejan de enviarle tráfico durante un período de tiempo definido.
NGINX Plus R9 agrega controles de estado activos para los servicios UDP, similares a aquellos para el tráfico HTTP y TCP . Puede configurar NGINX Plus para enviar solicitudes UDP especiales a servidores ascendentes y definir el tipo de respuesta que los servidores deben devolver para que se consideren saludables. Debido a que UDP no tiene los mecanismos de entrega confiable que TCP proporciona para HTTP, las verificaciones de estado activas son aún más críticas para las aplicações UDP que para las aplicações TCP y HTTP.
Con NGINX Plus también puedes agregar o eliminar servidores ascendentes sobre la marcha. Esto hace que sea fácil (por ejemplo) desconectar servidores para realizar tareas de mantenimiento y luego reinsertarlos en el grupo con equilibrio de carga. Las nuevas estadísticas relacionadas con UDP en el módulo Estado de NGINX Plus y el panel de monitoreo de actividad en vivo le brindan visibilidad crítica sobre el rendimiento de sus servidores.
NGINX Plus R9 equilibra la carga de las aplicações basadas en UDP simples más utilizadas: DNS, RADIUS, syslog y NTP. Los protocolos UDP de larga duración, como Voz sobre IP y otras aplicações basadas en SIP, no son compatibles en este momento.
SRV
de DNSLas aplicações web modernas se componen de múltiples componentes de aplicação pequeños: servidores web, servidores de aplicação , bases de datos, etc. Un balanceador de carga frontend como NGINX Plus inspecciona el tráfico entrante y luego enruta y equilibra la carga de las solicitudes entre los componentes de la aplicação .
Cuando los componentes de la aplicação se implementan en plataformas virtuales o basadas en contenedores, pueden tener direcciones IP y puertos impredecibles. El descubrimiento de servicios es el proceso mediante el cual un cliente local (como el balanceador de carga frontend NGINX Plus) localiza estos componentes para poder enviarles tráfico. El descubrimiento de servicios generalmente se facilita mediante una “base de datos de servicios” como Consul , etcd o ZooKeeper .
En NGINX Plus R8, anunciamos una versión persistente de nuestra API de reconfiguración sobre la marcha y compartimos soluciones de demostración para Consul , etcd y ZooKeeper que verifican la base de datos de servicios e introducen cambios de configuración en NGINX Plus. En NGINX Plus R9, nos complace anunciar el soporte para un método alternativo que utiliza consultas DNS SRV
. Las consultas DNS SRV
devuelven la dirección IP, el puerto, la prioridad y el peso de los servidores de aplicação de un tipo particular.
Tanto Consul como SkyDNS para etcd proporcionan interfaces DNS que los clientes pueden usar para recuperar registros SRV
. NGINX Plus obtiene la configuración de equilibrio de carga consultando directamente la interfaz DNS de un servicio. NGINX Plus vuelve a verificar periódicamente el servicio, por lo que cualquier cambio se propaga rápida y automáticamente.
El siguiente ejemplo configura NGINX Plus para obtener la lista de servidores ascendentes para my_service a través de DNS. El parámetro service=http
de la directiva del servidor
habilita el soporte para registros SRV
de DNS. Las instancias de aplicação que respaldan my_service ahora son detectadas automáticamente por NGINX Plus.
http { resolver dns-server-ip ; upstream my_service { zona backend 64k; nombre de host del servidor para mi_servicio service=http resolve; } servidor { # ... ubicación /mi_servicio { # ... contraseña_de_proxy http://mi_servicio; } } }
El precio por instancia es una excelente manera de comenzar a usar NGINX Plus y proporciona una alternativa muy rentable a los balanceadores de carga de hardware, pero los usos potenciales de NGINX Plus van mucho más allá del simple reemplazo de hardware. Su arquitectura de software liviana hace que NGINX Plus sea ideal para el equilibrio de carga dedicado de cada aplicação, y debido a que NGINX Plus está construido sobre NGINX Open Source, también puede reemplazar los servidores web y de aplicação en su aplicação . Estos casos de uso impulsan cada vez más implementaciones de NGINX Plus para las cuales el precio por instancia no es rentable ni lo suficientemente flexible.
Con NGINX Plus R9 presentamos un nuevo modelo de precios de aplicaciones “todo lo que pueda comer” que le permite ejecutar tantas instancias de NGINX Plus como desee para una aplicação específica. Implemente NGINX Plus cuando, donde y como lo necesite dentro de su infraestructura de aplicaciones y en entornos de desarrollo, prueba, preparación, recuperación ante desastres y producción. No importa cuántas máquinas virtuales, contenedores o nodos tenga, usted paga una tarifa fija por todo el año.
Cada suscripción incluye las funciones completas del software NGINX Plus y nuestro galardonado soporte y asistencia de configuración . Además, optar por el modelo de precios de la aplicación te da derecho a:
El uso es ilimitado por aplicação . Una aplicação se define como el equipo y los componentes de software que respaldan una única aplicação web o una aplicação de escritorio o móvil denominada individualmente. Se anticipan y adoptan dentro del modelo arquitecturas distribuidas y basadas en microservicios.
También está disponible una suscripción de licencia de sitio, que proporciona un uso ilimitado de NGINX Plus en toda la organización.
NGINX Plus R9 presenta una serie de mejoras adicionales, que incluyen:
Reintento de solicitudes no idempotentes : cuando una solicitud HTTP falla debido a un error o tiempo de espera, de manera predeterminada NGINX Plus la vuelve a intentar automáticamente con otro servidor en el grupo ascendente. Puede utilizar la directiva proxy_next_upstream
para definir los tipos de errores para los cuales NGINX Plus repite las solicitudes, incluidas las específicas 4xx
o 5xx
códigos de respuesta.
Por convención, las solicitudes POST
generalmente no se vuelven a intentar porque los datos del cuerpo se transmiten al servidor y no se pueden reproducir si el servidor falla. Sin embargo, en determinadas circunstancias de falla, las versiones anteriores de NGINX Plus volvían a intentar las solicitudes POST
, lo que era incompatible con el supuesto de que no se volvían a intentar porque no son idempotentes.
NGINX Plus ya no vuelve a intentar automáticamente las solicitudes HTTP no idempotentes fallidas ( POST
, LOCK
y PATCH
). Para restaurar el comportamiento anterior y permitir que NGINX Plus vuelva a intentar solicitudes no idempotentes fallidas cuando sea posible, incluya el nuevo parámetro non_idempotent
en la directiva proxy_next_upstream
.
Si está utilizando NGINX Plus, le recomendamos encarecidamente que actualice a la versión 9 lo antes posible. Recibirá una serie de correcciones y mejoras, y nos servirá para ayudarlo si necesita generar un ticket de soporte.
Si aún no ha probado NGINX Plus , le recomendamos que lo haga para aceleración web, equilibrio de carga y entrega de aplicação , o como un servidor web totalmente compatible con una API para una mejor supervisión y reconfiguración dinámica . Comience hoy con una prueba gratuita de 30 días y compruebe usted mismo cómo NGINX Plus puede ayudarle a ofrecer y escalar sus aplicações.
Editor: para obtener más detalles sobre las nuevas características clave de NGINX Plus R9, consulte estos recursos relacionados.
"Esta publicación de blog puede hacer referencia a productos que ya no están disponibles o que ya no reciben soporte. Para obtener la información más actualizada sobre los productos y soluciones F5 NGINX disponibles, explore nuestra familia de productos NGINX . NGINX ahora es parte de F5. Todos los enlaces anteriores de NGINX.com redirigirán a contenido similar de NGINX en F5.com.