0

Bài viết này mô tả việc áp dụng và thử nghiệm Chính sách giới hạn tỷ lệ và Chính sách kiểm soát chênh lệch trong Mule 4 và so sánh giữa hai chính sách này.

Áp dụng Chính sách giới hạn tỷ lệ và Chính sách kiểm soát chênh lệch trong API

Chính sách giới hạn tỷ giá là gì?

Trong Chính sách giới hạn tỷ lệ, một người chỉ được phép gửi một số lượng yêu cầu nhất định trong một khoảng thời gian nhất định.

Khi một yêu cầu được gửi và không đạt đến giới hạn tốc độ, yêu cầu sẽ được xử lý thêm. Nhưng nếu đã đạt đến giới hạn tốc độ, yêu cầu sẽ không được xử lý và bị chấm dứt. E

Chính sách Kiểm soát Spike là gì?

Chính sách kiểm soát Spike được cung cấp để làm trơn tru lưu lượng truy cập API. Chính sách đảm bảo rằng trong bất kỳ khoảng thời gian nhất định nào, không quá số yêu cầu đã định cấu hình tối đa được xử lý.

Nếu không có hạn ngạch yêu cầu trong cửa sổ hiện tại, chính sách cho phép các yêu cầu được xếp hàng đợi để xử lý lại sau này mà không cần đóng kết nối với máy khách.

Ở đây, tôi đang áp dụng các chính sách này trong bài viết trước của mình .

Thiết lập chính sách giới hạn tỷ lệ

Trong Trình quản lý API, Nhấp vào API mới được tạo và nhấp vào các chính sách trên bảng điều khiển bên trái.

Nhấp vào Áp dụng Chính sách Mới và chọn Chính sách Giới hạn Tỷ lệ từ Tab Chọn Chính sách.

Cấu hình cho Chính sách giới hạn tỷ lệ:

Áp dụng Chính sách giới hạn tỷ lệ và Chính sách kiểm soát chênh lệch trong API

Khi bạn nhấp vào áp dụng trên tab cấu hình, chính sách sẽ được hiển thị trong Trình quản lý API.

Áp dụng Chính sách giới hạn tỷ lệ và Chính sách kiểm soát chênh lệch trong API

Kiểm tra Chính sách Giới hạn Tỷ lệ

Nhìn vào cấu hình ở trên.

Chỉ có ba lần gọi đến API trong 1 phút tức là API sẽ được yêu cầu thành công chỉ 3 lần trong 1 phút và không nhiều hơn thế.

Áp dụng Chính sách giới hạn tỷ lệ và Chính sách kiểm soát chênh lệch trong API

Bất kỳ yêu cầu nào đối với API trên 3 yêu cầu trên đều sẽ không thực hiện được, hiển thị thông báo: "error": "Quota đã bị vượt quá"

Áp dụng Chính sách giới hạn tỷ lệ và Chính sách kiểm soát chênh lệch trong API

API không đợi thời gian hoàn thành để xử lý yêu cầu. Nó sẽ chỉ xử lý yêu cầu khi hết thời gian 1 phút (và chỉ có 3 yêu cầu).

KHÔNG BỎ QUA YÊU CẦU CHẾ BIẾN SAU

Thiết lập Chính sách Kiểm soát Spike

Xóa chính sách Giới hạn tỷ lệ hiện có và thay thế nó bằng Chính sách kiểm soát tăng tốc.

Áp dụng Chính sách giới hạn tỷ lệ và Chính sách kiểm soát chênh lệch trong API

Cấu hình của Chính sách Kiểm soát Spike:

Áp dụng Chính sách giới hạn tỷ lệ và Chính sách kiểm soát chênh lệch trong API

Ba yêu cầu tới API trong 5 giây và bất kỳ yêu cầu nào vượt quá ba sẽ đợi trong 10 giây để được xử lý lại mà không làm mất kết nối với máy khách.

Do đó, Spike Control cung cấp khả năng làm mượt lưu lượng truy cập bằng cách hạn chế các lệnh gọi tới API trong một khoảng thời gian nhất định và xếp yêu cầu vào hàng đợi.

Đối với ba yêu cầu trong 5 giây:

Áp dụng Chính sách giới hạn tỷ lệ và Chính sách kiểm soát chênh lệch trong API

Đối với yêu cầu vượt quá 3, trong 5 giây:

Áp dụng Chính sách giới hạn tỷ lệ và Chính sách kiểm soát chênh lệch trong API

Trang đang tải lại và sẽ hiển thị kết quả sau thời gian trễ 10 giây, do đó hạn chế lưu lượng truy cập vào API để hoạt động trơn tru.

Đối với các yêu cầu vượt quá Hạn ngạch thời gian:

Tình huống này xảy ra khi có nhiều yêu cầu đang đợi trong hàng đợi để được xử lý sau thời gian trễ.

Áp dụng Chính sách giới hạn tỷ lệ và Chính sách kiểm soát chênh lệch trong API

Hãy thử thay đổi các giá trị cấu hình và sau đó xem kết quả.

Phần kết luận

Giới hạn tốc độ đã loại trừ tất cả các yêu cầu nếu vượt quá hạn ngạch, nhưng trong trường hợp Spike Control, thời gian trễ được đặt, giúp giảm số lượng yêu cầu không thành công ngay cả sau khi vượt quá hạn ngạch. Do đó lưu lượng giao thông thông suốt.

|