Hoe beoordeel je Express-applicaties?

Hoe beoordeel je Express-applicaties?

Snelheidsbeperking is een strategie die u kunt gebruiken om het verkeer op een netwerk te controleren. Het beperkt het aantal verzoeken dat een gebruiker binnen een bepaald tijdsbestek kan doen.





Er bestaan ​​verschillende snelheidsbeperkende algoritmen, elk met zijn eigen afwegingen. Een eenvoudige en populaire methode is om de IP-adressen van verzoeken te volgen en te controleren hoeveel tijd er verstrijkt tussen verzoeken. Het systeem kan dan een verzoek weigeren als het IP-adres het aantal verzoeken overschrijdt dat de limiet toelaat.





hoe te voorkomen dat de telefoon oververhit raakt?
MAKEUSEVAN VIDEO VAN DE DAG

Deze benadering van snelheidsbeperking is eenvoudig in een NodeJS-Express-app in te bouwen, met slechts een paar stappen.





Stap 1: Een ontwikkelomgeving opzetten

Eerst moet u een Express-toepassing maken en initialiseren.

Begin met het maken van een projectdirectory door het volgende uit te voeren:



mkdir express-app 

Voer vervolgens die map in door uit te voeren:

cd express-app 

Initialiseer vervolgens npm, de knooppuntpakketbeheerder, en maak een pakket.json bestand in uw toepassing door het volgende uit te voeren:





npm init -y 

De -Y vlag zal je maken pakket.json bestand met alle standaardinstellingen.

Vervolgens moet u enkele afhankelijkheden installeren. De afhankelijkheden die nodig zijn voor deze zelfstudie zijn:





  • ExpressJS: ExpressJS is een NodeJS-framework dat een robuuste set functies biedt voor web- en mobiele applicaties. Het vereenvoudigt het proces van het bouwen van backend-applicaties met NodeJS.
  • Uitdrukkelijke tarieflimiet : Express rate limit is een snelheidsbeperkende middleware voor ExpressJS. Het beperkt herhaalde verzoeken tot openbare API's en/of eindpunten, zoals het opnieuw instellen van wachtwoorden, gebruikersaanmeldingen, enz.

Installeer de vereiste afhankelijkheden door het volgende uit te voeren:

npm install express express-rate-limit

Stap 2: Een Express-toepassing maken

U moet een standaard Express-server maken die luistert naar verzoeken die aan uw toepassing worden gedaan.

Maak eerst een index.js bestand in de hoofdmap van uw project. Dit wordt het invoerbestand voor uw aanvraag.

aanbevolen virtuele geheugengrootte voor 16 gb ram

Voeg vervolgens de volgende code toe aan uw index.js het dossier:

// 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}`);
});

Deze code importeert uitdrukken en maakt een Express-toepassing door express() aan te roepen en de geretourneerde waarde op te slaan in de app variabel. Het luistert dan naar verkeer op poort 3000 door te bellen naar de luister methode op de app object.

Stap 3: Routehandlers maken

Maak vervolgens enkele route-handlers waarop u de snelheidsbeperkende oplossing kunt implementeren.

Maak eerst een map, routes, in de hoofdmap van uw project door het volgende uit te voeren:

mkdir routes 

Maak een bestand, routes.js , in je routesmap en voeg de volgende code toe:

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;

Deze code importeert uitdrukken , noemt de Router methode aan uitdrukken en slaat de waarde op in een variabele, router . De Router methode kunt u modulaire, monteerbare routehandlers maken. U kunt routebehandelaars maken voor a KRIJGEN verzoek aan “ / ', a NA verzoek aan “ /add-demo ', en een LEGGEN verzoek aan “ /update-demo ”. Exporteer ten slotte de router variabel.

Importeer vervolgens de router variabele in je index.js het dossier:

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

Gebruik het vervolgens als middleware in uw index.js-bestand:

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