Middle
რა არის სიჩქარის შეზღუდვა და როგორ განახორციელოთ იგი?
sobes.tech AI
პასუხი AI-სგან
Rate limiting — ეს მექანიზმია, რომელიც განსაზღვრავს, რამდენი მოთხოვნა შეუძლია მომხმარებელს გამოგზავნოს სერვერზე გარკვეული დროის განმავლობაში. ეს ეხმარება სერვერის გადატვირთვისა და ზეწოლის თავიდან აცილებაში.
მიღება შეიძლება იყოს სერვერის ან მომხმარებლის მხარეს. ფრონტენდზე ხშირად გამოიყენება მარტივი დაცვა, მაგალითად, ბლოკირება განმეორებითი დაჭერების ან API-ის გამოძახების სიხშირის შეზღუდვა.
პროგრამის მარტივი მაგალითი JavaScript-ით:
let lastRequestTime = 0;
const RATE_LIMIT_INTERVAL = 1000; // 1 წამი
function sendRequest() {
const now = Date.now();
if (now - lastRequestTime < RATE_LIMIT_INTERVAL) {
console.log('ძალიან ხშირად! გთხოვთ, მოიცადოთ.');
return;
}
lastRequestTime = now;
fetch('/api/data')
.then(response => response.json())
.then(data => console.log(data));
}
მრავალმხრივი შემთხვევებისთვის გამოიყენება ბიბლიოთეკები ან სერვერზე რეალიზდება rate limiting Redis, ტოკენების ან გამოთვლით.