Cómo calcular el límite de las aplicaciones exprés

Cómo calcular el límite de las aplicaciones exprés

La limitación de velocidad es una estrategia que puede utilizar para controlar el tráfico en una red. Limita la cantidad de solicitudes que un usuario puede realizar dentro de un período de tiempo específico.





Existen varios algoritmos de limitación de velocidad, cada uno con sus propias compensaciones. Un método simple y popular es rastrear las direcciones IP de las solicitudes y verificar cuánto tiempo transcurre entre las solicitudes. Luego, el sistema puede rechazar una solicitud si su dirección IP excede la cantidad de solicitudes permitidas por el límite.





MAKEUSEOF VÍDEO DEL DÍA

Este enfoque de limitación de velocidad es fácil de construir en una aplicación NodeJS-Express, con solo unos pocos pasos.





Paso 1: Configuración de un entorno de desarrollo

Primero, deberá crear e inicializar una aplicación Express.

Comience creando un directorio de proyecto ejecutando:



mkdir express-app 

Luego ingrese a ese directorio ejecutando:

cd express-app 

A continuación, inicialice npm, el administrador de paquetes de nodos, y crear un paquete.json archivo en su aplicación ejecutando:





leer el disco duro de mac en windows
npm init -y 

los -y bandera creará su paquete.json archivo con todas las configuraciones predeterminadas.

A continuación, deberá instalar algunas dependencias. Las dependencias requeridas para este tutorial son:





  • ExpressJS: ExpressJS es un marco NodeJS que proporciona un conjunto sólido de funciones para aplicaciones web y móviles. Simplifica el proceso de creación de aplicaciones backend con NodeJS.
  • Límite de tasa expresa : Express rate limit es un middleware de limitación de velocidad para ExpressJS. Limita las solicitudes repetidas a API públicas y/o puntos finales, como restablecimientos de contraseña, inicios de sesión de usuarios, etc.

Instale las dependencias requeridas ejecutando:

npm install express express-rate-limit

Paso 2: Creación de una aplicación Express

Deberá crear un servidor Express básico que escuche las solicitudes que se realizan a su aplicación.

Primero, crea un índice.js archivo en el directorio raíz de su proyecto. Este será el archivo de entrada para su aplicación.

A continuación, agregue el siguiente código a su índice.js expediente:

// index.js 
const express = require("express");
const app = express();
const port = process.env.PORT || 3000

app.listen(port, () => {
console.log(`App running on port ${port}`);
});

Este código importa Rápido y crea una aplicación Express llamando a express() y almacenando su valor de retorno en el aplicación variable. Luego escucha el tráfico en el puerto 3000 llamando al escuchar método en el aplicación objeto.

Paso 3: Creación de controladores de ruta

A continuación, cree algunos controladores de ruta en los que pueda implementar la solución de limitación de velocidad.

Primero, cree una carpeta, rutas, en el directorio raíz de su proyecto ejecutando:

mkdir routes 

Crear un archivo, rutas.js , dentro de su carpeta de rutas y agregue el siguiente código:

const express = require("express"); 
const router = express.Router();

router.get("/", (req, res) => {
res.send({ message: "Hello, this is a GET request" });
});

router.post("/add-demo", (req, res) => {
res.status(201).send({ message: "Resource created successfully" });
});

router.put("/update-demo", (req, res) => {
res.status(201).send({ message: "Resource updated sucessfully" });
});

module.exports = router;

Este código importa Rápido , llama al enrutador método en Rápido , y almacena el valor en una variable, enrutador . los enrutador El método le permite crear manejadores de ruta modulares y montables. Puede crear controladores de ruta para un OBTENER solicitud de ' / ', a CORREO solicitud de ' /añadir-demo ”, y un PONER solicitud de ' /update-demo ”. Finalmente, exporte el enrutador variable.

A continuación, importe el enrutador variable en su índice.js expediente:

// index.js 
const routes = require("./routes/routes");

Luego, utilícelo como un middleware en su archivo index.js:

// index.js 
app.use(routes);