So sánh các chính sách về Hạn mức và SpikeArrest

Bạn đang xem tài liệu về Apigee Edge.
Tham khảo tài liệu về Apigee X.
thông tin

Các chính sách về Hạn mức và SpikeArrest, bạn đang phân vân không biết nên sử dụng chính sách nào để đáp ứng tốt nhất nhu cầu giới hạn số lượng yêu cầu của mình? Xem biểu đồ so sánh bên dưới.

Hạn mức Neo hình trụ
Bạn có thể sử dụng kỹ thuật này để: Giới hạn số lượng kết nối mà ứng dụng có thể thực hiện với phần phụ trợ mục tiêu của proxy API trong một khoảng thời gian cụ thể. Bảo vệ phần phụ trợ mục tiêu của proxy API khỏi các trường hợp lưu lượng truy cập tăng đột biến và các cuộc tấn công từ chối dịch vụ.
Không được sử dụng để:

Không được dùng tính năng này để bảo vệ phần phụ trợ mục tiêu của proxy API khỏi việc lưu lượng truy cập tăng đột biến.

Để làm được việc đó, hãy sử dụng chính sách SpikeArrest.

Đừng dùng tính năng này để tính và giới hạn số lượng kết nối mà ứng dụng có thể tạo cho phần phụ trợ mục tiêu của proxy API trong một khoảng thời gian cụ thể.

Để làm được việc đó, hãy sử dụng chính sách Hạn mức.

Lưu trữ một số lượng? Không
Các phương pháp hay nhất để đính kèm chính sách:

Hãy đính kèm mã này vào ProxyEndpoint PreFlow, thường sau khi xác thực người dùng.

Điều này cho phép chính sách kiểm tra bộ đếm hạn mức tại điểm truy cập của proxy API.

Hãy đính kèm tệp này vào ProxyEndpoint PreFlow, thường ở đầu quy trình.

Điều này cung cấp khả năng bảo vệ tăng đột biến tại điểm truy cập của proxy API.

Mã trạng thái HTTP khi đạt đến giới hạn:

500 (Lỗi máy chủ nội bộ) *

500 (Lỗi máy chủ nội bộ) *

Điều cần biết:
  • Bộ đếm hạn mức được lưu trữ trong Cassandra.
  • Định cấu hình chính sách để đồng bộ hoá bộ đếm một cách không đồng bộ nhằm tiết kiệm tài nguyên.
  • Quá trình đồng bộ hoá bộ đếm không đồng bộ có thể làm chậm trễ quá trình phản hồi giới hạn tốc độ. Điều này có thể cho phép các lệnh gọi vượt quá giới hạn bạn đã đặt một chút.
  • Thực hiện điều tiết dựa trên thời điểm nhận được lưu lượng truy cập gần đây nhất. Thời gian này được lưu trữ trên mỗi trình xử lý tin nhắn.
  • Nếu bạn chỉ định giới hạn tốc độ là 100 lệnh gọi/giây, thì trình xử lý thông báo chỉ cho phép thực hiện 1 lệnh gọi trong mỗi 1/100 giây (10 mili giây). Cuộc gọi thứ hai trong vòng 10 mili giây sẽ bị từ chối.
  • Ngay cả khi có giới hạn tốc độ mỗi giây cao, các yêu cầu gần như đồng thời có thể dẫn đến việc bị từ chối.
Xem thêm thông tin chi tiết: Chính sách về hạn mức Chính sách của SpikeArrest

* Đối với Chính sách về hạn mứcchính sách SpikeArrest, mã trạng thái HTTP mặc định để vượt quá giới hạn tốc độ là mã 500 Internal Server Error chung. Bạn có thể thay đổi mã trạng thái của các chính sách đó thành 429 Service Unavailable bằng cách thêm một tài sản cấp tổ chức (features.isHTTPStatusTooManyRequestEnabled). Nếu bạn là khách hàng sử dụng Google Cloud, hãy liên hệ với Nhóm hỗ trợ Apigee để bật tài sản này.