马上开始. 它是免费的哦
注册 使用您的电邮地址
Rate Limiting 作者: Mind Map: Rate Limiting

1. Vấn đề

1.1. Spam request từ user xấu

1.2. DDos

1.3. Web scraping không kiểm soát

1.4. Gây ra

1.4.1. Tiêu thụ tài nguyên hệ thống

1.4.2. Tăng chi phí cloud computing

2. Xác định User

2.1. User đã xác thực

2.1.1. User Id

2.1.2. Api key

2.2. User chưa xác thực

2.2.1. IP Address (IPv4/IPv6)

2.2.2. Browser Fingerprinting

2.2.2.1. User Agent, Screen resolution, Installed fonts

2.2.2.2. Và nhiều thuộc tính khác

3. Thuật toán Rate limiting

3.1. Fixed Window

3.1.1. Chia thời gian thành window cố định

3.1.1.1. Mỗi window có giới hạn nhất định

3.1.2. Đơn giản implement

3.1.3. Có thể bị burst traffic

3.2. Sliding Window

3.2.1. Window trượt theo thời gian thực

3.2.1.1. Mỗi window có giới hạn nhất định

3.2.2. Tránh được burst traffic

3.2.3. Phức tạp implement

3.3. Leaky Bucket

3.3.1. Request vào bucket với rate bất kỳ

3.3.2. Số lượng request trong bucket sẽ giảm theo rate cố định

3.3.3. Cho phép burst traffic ngắn hạn và tuần tự theo rate nếu tiếp tục gửi request

4. Tài liệu tham khảo

4.1. https://blog.algomaster.io/p/designing-a-distributed-rate-limiter

4.2. https://github.blog/engineering/how-we-scaled-github-api-sharded-replicated-rate-limiter-redis/

4.3. https://engineering.linecorp.com/en/blog/high-throughput-distributed-rate-limiter