Hogyan értékeljük az expressz korlátokat

Hogyan értékeljük az expressz korlátokat

A sebességkorlátozás egy olyan stratégia, amelyet a hálózat forgalmának szabályozására használhat. Korlátozza a felhasználó által adott időkereten belül benyújtható kérések számát.





miért nem működik a hbo max?

Különféle sebességkorlátozó algoritmusok léteznek, mindegyiknek megvan a maga kompromisszuma. Az egyik egyszerű és népszerű módszer a kérések IP-címének nyomon követése és annak ellenőrzése, hogy mennyi idő telik el a kérések között. A rendszer ezután visszautasíthat egy kérést, ha annak IP-címe meghaladja a korlát által megengedett kérések számát.





MAKEUSEOF A NAP VIDEÓJA

Ez a sebességkorlátozási megközelítés néhány lépéssel egyszerűen beépíthető egy NodeJS-Express alkalmazásba.





1. lépés: Fejlesztési környezet beállítása

Először létre kell hoznia és inicializálnia kell egy Express alkalmazást.

Kezdje a projektkönyvtár létrehozásával a következő futtatással:



mkdir express-app 

Ezután lépjen be a könyvtárba a következő futtatással:

cd express-app 

Ezután inicializálja npm, a csomóponti csomagkezelő, és hozzon létre a package.json fájlt az alkalmazásban a következő futtatással:





npm init -y 

Az -Y zászló létrehozza az Ön package.json fájlt az összes alapértelmezett beállítással.

Ezután telepítenie kell néhány függőséget. Az oktatóanyaghoz szükséges függőségek a következők:





  • ExpressJS: Az ExpressJS egy NodeJS keretrendszer amely robusztus funkciókészletet biztosít webes és mobilalkalmazásokhoz. Leegyszerűsíti a háttéralkalmazások NodeJS segítségével történő felépítésének folyamatát.
  • Expressz Rate Limit : Az Express rate limit egy sebességkorlátozó köztes szoftver az ExpressJS számára. A nyilvános API-kra és/vagy végpontokra korlátozza az ismételt kéréseket, például a jelszó-visszaállítást, a felhasználói bejelentkezéseket stb.

Telepítse a szükséges függőségeket a következő futtatásával:

npm install express express-rate-limit

2. lépés: Expressz alkalmazás létrehozása

Létre kell hoznia egy alapszintű Expressz-kiszolgálót, amely figyeli az alkalmazására érkező kéréseket.

Először hozzon létre egy index.js fájlt a projekt gyökérkönyvtárában. Ez lesz a jelentkezésed beviteli fájlja.

Ezután adja hozzá a következő kódot a sajátjához index.js fájl:

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

Ez a kód importál Expressz és létrehoz egy Express alkalmazást az express() meghívásával és a visszatérési értékének tárolásával a kb változó. Ezután figyeli a porton lévő forgalmat 3000 hívásával a hallgat módszer a kb tárgy.

3. lépés: Útvonalkezelők létrehozása

Ezután hozzon létre néhány útvonalkezelőt, amelyeken megvalósíthatja a sebességkorlátozó megoldást.

Először hozzon létre egy mappát, útvonalakat a projekt gyökérkönyvtárában a következő futtatással:

mkdir routes 

Hozzon létre egy fájlt, routes.js , az útvonalak mappájába, és adja hozzá a következő kódot:

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;

Ez a kód importál Expressz , hívja a Router módszer bekapcsolva Expressz , és az értéket egy változóban tárolja, router . Az Router módszer lehetővé teszi moduláris, felszerelhető útvonalkezelők létrehozását. Létrehozhat útvonalkezelőket a KAP kérni ' / ”, a POST kérni ' /add-demo ” és a PUT kérni ' /update-demo ”. Végül exportálja a router változó.

Ezután importálja a router változó a te index.js fájl:

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

Ezután használja köztes szoftverként az index.js fájlban:

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