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);