Hay varias razones convincentes por las que las personas podrían querer mejorar el rendimiento de la API:
Configuraremos un Proxy como un sistema de administración central para lograr un mejor rendimiento de la API. Un proxy actúa como intermediario entre clientes y servidores. Se encuentra entre el cliente que realiza las solicitudes de API y el servidor que aloja las API. Cuando un cliente realiza una solicitud de API, primero pasa por el proxy, que luego reenvía la solicitud al servidor. El servidor procesa la solicitud y envía la respuesta al proxy, que luego la reenvía al cliente. Esto permite que el proxy intercepte, modifique o almacene en caché la solicitud o la respuesta según sea necesario, lo que brinda oportunidades para optimizar el rendimiento de la API.
Para macOS (o Linux ), instale Homebrew en su sistema.
Hay los siguientes pasos para instalar Nginx en macOS:
1️⃣ Descarga Homebrew
Para instalar Nginx en macOS, Homebrew debe estar instalado en el sistema. Homebrew es un administrador de paquetes para el sistema operativo Mac que nos permite instalar varias aplicaciones Unix fácilmente. Si no tiene Homebrew , use el siguiente enlace para instalar: https://brew.sh/
O simplemente escriba el siguiente comando en la terminal:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
2️⃣ Instalar Nginx
El instalador del paquete homebrew ayudará a instalar el servidor web Nginx en macOS. Para instalar Nginx , use el siguiente comando:
brew install nginx
3️⃣ Editar archivo de configuración
De forma predeterminada, la ubicación del archivo de configuración de Nginx es:
/opt/homebrew/etc/nginx/nginx.conf
Para editar el archivo de configuración de Nginx, puede usar cualquier editor de texto de su elección. Por ejemplo, puede usar nano , vim o emacs . Aquí hay un comando de ejemplo para editar el archivo de configuración de Nginx usando nano:
nano /opt/homebrew/etc/nginx/nginx.conf
Estaremos editando el bloque del servidor que escucha en el puerto 80.
Buscar bloque de servidor
Posteriormente, proceda a incluir los tres puntos finales RPC de la red principal de Ethereum a continuación:
location /nodereal { proxy_pass https://eth-mainnet.nodereal.io/v1/<API KEY>; proxy_set_header Content-Type "application/json"; } location /RPCProviderA { proxy_pass <https URI endpoint>; proxy_set_header Content-Type "application/json"; } location /RPCProviderB { proxy_pass <https URI endpoint>; proxy_set_header Content-Type "application/json"; }
Es posible incluir varios extremos de RPC según sea necesario y, posteriormente, conservar el archivo de configuración.
Para garantizar la ausencia de errores de sintaxis, proceda amablemente con la prueba del archivo de configuración de Nginx:
nginx -t
🎊 En caso de que no haya errores presentes, se mostrará el siguiente resultado.
nginx: la sintaxis del archivo de configuración /opt/homebrew/etc/nginx/nginx.conf está bien
nginx: archivo de configuración /opt/homebrew/etc/nginx/nginx.conf prueba exitosa
Para reiniciar el servidor Nginx, ejecute el siguiente comando:
brew services restart nginx
4️⃣ Método de envío de API a través de Nginx Proxy
Para probar el Nginx Proxy, estamos verificando el precio del gas en Ethereum a través de eth_gasPrice . Enviaremos un comando curl para enviar una solicitud HTTP POST a la ubicación "/nodereal" de un servidor que se ejecuta en la máquina local (en " http://localhost ") con una carga JSON que se muestra a continuación:
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":1}' -H "Content-Type: application/json" http://localhost/nodereal
✅ {"jsonrpc":"2.0","id":1,"resultado":"0xdec36a8d1"}
La respuesta que recibió después de ejecutar el comando curl es una respuesta JSON-RPC de un nodo Ethereum . He aquí una breve explicación de la respuesta:
El valor decimal de "0xdec36a8d1" es 59797579985. Por lo tanto, el precio actual del gas en la red Ethereum en el momento en que se realizó la solicitud era 59797579985 wei (la denominación más pequeña de Ether) o 58 Gwei.
Pruébelo con los servidores restantes, /RPCProviderA y /RPCProviderB, ejecutándolo en la máquina local (en " http://localhost "):
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":1}' -H "Content-Type: application/json" http://localhost/RPCProviderA
🥳 Puede comenzar la prueba de su propio proxy.
✅ Ventajas de usar Nginx como proxy para una puerta de enlace API:
❌ Desventajas de usar Nginx como proxy para una puerta de enlace API:
En conclusión, mejorar el rendimiento de la API es fundamental para las empresas y los desarrolladores. El uso de Nginx como proxy para la puerta de enlace API ofrece ventajas como equilibrio de carga, almacenamiento en caché, escalabilidad y seguridad. Sin embargo, existen limitaciones, como funciones de administración de API limitadas, complejidad de configuración y falta de capacidades avanzadas de autenticación y autorización. La consideración cuidadosa de estos pros y contras es esencial. En general, aprovechar Nginx como proxy puede ser una herramienta poderosa para mejorar el rendimiento de la API. Estén atentos a la próxima serie de tutoriales, ya que compartiremos más sobre el problema común que enfrenta y cómo solucionarlo.
También publicado aquí .