یک REST API با محدودیت نرخ در Node.js
بخش ۱: اسکلت پروژه
راهاندازی یک سرویس Express + TypeScript با یک زنجیرهی میانافزار تمیز که بعداً محدودکننده را در آن جا میدهیم.
داریم یک API کوچک میسازیم و بعد آن را با یک محدودکنندهی نرخ واقعی محافظت میکنیم. این بخش تماماً زیرساخت است: یک اپ Express تایپشده با ترتیب میانافزار منطقی.
نصب
npm init -y
npm i express
npm i -D typescript @types/express tsx
npx tsc --init
اسکلت اپ
import express from "express"
const app = express()
app.use(express.json())
app.get("/api/quote", (_req, res) => {
res.json({ quote: "Make it work, make it right, make it fast." })
})
app.listen(3000, () => console.log("up on :3000"))
آن را با npx tsx watch src/index.ts اجرا کنید. در بخش دوم، یک محدودکنندهی
token bucket پیادهسازی و بهعنوان میانافزار نصب میکنیم.