- vừa được xem lúc

ĐỊNH NGHĨA, VÍ DỤ VÀ LỢI ÍCH CỦA RATE LIMITER

0 0 9

Người đăng: Tờ Mờ Sáng học Lập trình

Theo Viblo Asia

Định nghĩa

Rate Limiter thường được sử dụng để kiểm soát số lượng request được gửi bởi một client hoặc một service trong một khoảng thời gian nhất định.

Rate Limiter

Ví dụ

Ví dụ điển hình là chặn hành vi spam hoặc DDoS bằng cách giới hạn số lượng request từ một địa chỉ IP.

Hoặc một số ví dụ khác như:

  • Nếu nhập sai mật khẩu 5 lần, thẻ ngân hàng của bạn sẽ bị khóa.

  • Nếu nhập sai mật khẩu 5 lần, bạn sẽ bị tạm dừng 1 phút mới có thể nhập mật khẩu lần tiếp theo.

  • Bạn không thể tạo quá 10 tài khoản mỗi ngày từ cùng một địa chỉ IP.

  • Bạn không thể mời quá 1000 người like trang Facebook của mình trong vòng 24 giờ.

  • ...

Lợi ích của việc sử dụng API Rate Limiter:

  • 🥵 Tránh tình trạng cạn kiệt tài nguyên do bị DDoS:

  • 💶 Giảm chi phí:

    • Thông thường khi sử dụng các dịch vụ của bên thứ ba, điển hình như các dịch vụ của AWS chẳng hạn, các bạn sẽ thường xuyên phải để ý đến số lượng request mình đã dùng (quota), vì nó liên quan trực tiếp đến số tiền mà mình phải trả cho AWS.

    • Dùng rate limiter để hạn chế các request dư thừa, đồng nghĩa với việc bạn có thể góp phần vào việc tối ưu hóa server và phân phối tài nguyên hợp lý hơn cho những API thường xuyên được sử dụng.

  • 🚫 Ngăn chặn tình trạng server bị quá tải:

    • Rate limiter có thể được sử dụng để giảm tải cho server, bằng cách lọc bỏ các request do Bot hoặc các hành vi sai trái của người dùng gây ra.

LỜI NHẮN

Bạn có thể tham khảo thêm những bài viết trong series "System Design - Thiết kế Hệ thống" của mình trên blog này nhé. Hi vọng kiến thức này hữu ích với bạn.

Follow mình trên Facebook "CLB Lập trình - THPT Ngọc Tảo" hoặc kênh Youtube "Tờ Mờ Sáng học Lập trình" để cùng nhau học tập, chia sẻ những kiến thức công nghệ và lập trình hoàn toàn miễn phí nhé!

Facebook CLB Lập trình - THPT Ngọc Tảo: https://www.facebook.com/clb.it.ngoctao/

Youtube Tờ Mờ Sáng học Lập trình: https://www.youtube.com/@tmsangdev

Hẹn gặp lại 👋


BẠN CÓ THỂ ĐỌC THÊM

Clean Architecture: A Craftsman’s Guide to Software Structure and Design - Robert C. Martin

Designing Data – Insensitive applications - Martin Kleppmann

System Analysis and Design - Alan Dennis, Barbara Haley Wixom, Roberta M. Roth

System Design Interview - Alex Xu

Modern Systems Analysis and Design - Joseph Valacich, Joey George

Head First Design Patterns - Eric Freeman, Elisabeth Robson

Bình luận

Bài viết tương tự

- vừa được xem lúc

Học React Redux trong 15 phút

1. Lời mở đầu.

0 0 625

- vừa được xem lúc

Frontend vs Backend vs Full Stack – Bạn muốn trở thành ai?

Lĩnh vực Web Development luôn tăng trưởng và nhu cầu nhân lực trong lĩnh vực này chưa bao giờ hết hot. Nếu bạn là một web developer thì không phải lo "cạp đất mà ăn".

0 0 113

- vừa được xem lúc

Hiểu thêm về justify-content trong Flexbox qua loạt ảnh gif

1. Flexbox là gì. Khi nào nên dùng flexbox. Thuộc tính justify-content của flexbox.

0 0 47

- vừa được xem lúc

Dev hiện đại phần 1: Setup môi trường dev với docker

Bài viết gốc được mình đăng tải trên Kipalog. Đã qua rồi cái thời kỳ nông dân ấy, khi mà cứ mỗi khi cài lại máy, tôi lại mất cả ngày để setup LAMP stack.

0 0 39

- vừa được xem lúc

Web development đang chết dần?

Đặt vấn đề. Sau khi học Frontend được 1 năm, tôi nhận ra có nhiều công cụ giúp ta tạo 1 trang web rất nhanh, thậm chí không cần biết code.

0 0 45

- vừa được xem lúc

Debounce và Throttle trong Javascript

1. Khái niệm.

0 0 31