Sử dụng plugin

Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu Apigee X.
thông tin

Edge Microgateway phiên bản 3.1.5 trở lên

Đối tượng

Chủ đề này dành cho những người vận hành Edge Microgateway muốn sử dụng các trình bổ trợ hiện có được cài đặt cùng với microgateway. Bài viết này cũng thảo luận chi tiết về các trình bổ trợ hạn mức và ngăn chặn đột biến (cả hai đều có trong quá trình cài đặt). Nếu bạn là nhà phát triển muốn phát triển các trình bổ trợ mới, hãy xem phần Phát triển trình bổ trợ tuỳ chỉnh.

Trình bổ trợ Edge Microgateway là gì?

Trình bổ trợ là một mô-đun Node.js giúp bổ sung chức năng cho Edge Microgateway. Các mô-đun bổ trợ tuân theo một mẫu nhất quán và được lưu trữ ở một vị trí mà Edge Microgateway biết, cho phép microgateway tự động phát hiện và tải các mô-đun đó. Edge Microgateway có một số trình bổ trợ hiện có và bạn cũng có thể tạo trình bổ trợ tuỳ chỉnh, như được giải thích trong phần Phát triển trình bổ trợ tuỳ chỉnh.

Các trình bổ trợ hiện có đi kèm với Edge Microgateway

Một số trình bổ trợ hiện có được cung cấp cùng với Edge Microgateway khi cài đặt. Những thông tin này bao gồm:

Trình bổ trợ Bật theo mặc định Mô tả
số liệu phân tích Gửi dữ liệu phân tích từ Edge Microgateway đến Apigee Edge.
oauth Thêm quy trình xác thực khoá API và mã thông báo OAuth vào Edge Microgateway. Xem phần Thiết lập và định cấu hình Edge Microgateway.
hạn mức Không Thực thi hạn mức đối với các yêu cầu gửi đến Edge Microgateway. Sử dụng Apigee Edge để lưu trữ và quản lý hạn mức. Xem phần Sử dụng trình bổ trợ hạn mức.
spikearrest Không Bảo vệ chống lại tình trạng 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ụ. Xem phần Sử dụng trình bổ trợ chặn đột biến.
header-uppercase Không Một proxy mẫu có chú thích, dùng làm hướng dẫn giúp nhà phát triển viết các trình bổ trợ tuỳ chỉnh. Xem Trình bổ trợ mẫu Edge Microgateway.
accumulate-request Không Tích luỹ dữ liệu yêu cầu vào một đối tượng duy nhất trước khi truyền dữ liệu đến trình xử lý tiếp theo trong chuỗi trình bổ trợ. Hữu ích khi viết các trình bổ trợ biến đổi cần hoạt động trên một đối tượng nội dung yêu cầu duy nhất, được tích luỹ.
accumulate-response Không Tích luỹ dữ liệu phản hồi vào một đối tượng duy nhất trước khi truyền dữ liệu đến trình xử lý tiếp theo trong chuỗi trình bổ trợ. Hữu ích khi viết các trình bổ trợ biến đổi cần hoạt động trên một đối tượng nội dung phản hồi duy nhất, được tích luỹ.
transform-uppercase Không Chuyển đổi dữ liệu yêu cầu hoặc phản hồi. Trình bổ trợ này thể hiện một phương pháp hay nhất để triển khai trình bổ trợ biến đổi. Ví dụ: trình bổ trợ thực hiện một phép biến đổi không đáng kể (chuyển đổi dữ liệu yêu cầu hoặc phản hồi thành chữ hoa); tuy nhiên, bạn có thể dễ dàng điều chỉnh trình bổ trợ này để thực hiện các loại phép biến đổi khác, chẳng hạn như XML thành JSON.
json2xml Không Chuyển đổi dữ liệu yêu cầu hoặc phản hồi dựa trên tiêu đề chấp nhận hoặc loại nội dung. Để biết thông tin chi tiết, hãy tham khảo tài liệu về trình bổ trợ trên GitHub.
quota-memory Không Thực thi hạn mức đối với các yêu cầu gửi đến Edge Microgateway. Lưu trữ và quản lý hạn mức trong bộ nhớ cục bộ.
healthcheck Không Trả về thông tin về quy trình Edge Microgateway – mức sử dụng bộ nhớ, mức sử dụng CPU, v.v. Để sử dụng trình bổ trợ này, hãy gọi URL /healthcheck trên phiên bản Edge Microgateway của bạn. Trình bổ trợ này là một ví dụ mà bạn có thể dùng để triển khai trình bổ trợ kiểm tra tình trạng riêng.

Nơi tìm các trình bổ trợ hiện có

Các trình bổ trợ hiện có đi kèm với Edge Microgateway nằm ở đây, trong đó [prefix] là thư mục tiền tố npm. Hãy xem phần Edge Microgateway được cài đặt ở đâu nếu bạn không tìm thấy thư mục này.

[prefix]/lib/node_modules/edgemicro/node_modules/microgateway-plugins

Thêm và định cấu hình trình bổ trợ

Hãy làm theo mẫu này để thêm và định cấu hình các trình bổ trợ:

  1. Dừng Edge Microgateway.
  2. Mở một tệp cấu hình Edge Microgateway. Để biết thông tin chi tiết, hãy xem phần Thực hiện các thay đổi về cấu hình đối với các lựa chọn.
  3. Thêm trình bổ trợ vào phần tử plugins:sequence của tệp cấu hình như sau. Các trình bổ trợ được thực thi theo thứ tự xuất hiện trong danh sách này.
edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
     level: info
     dir: /var/tmp
     stats_log_interval: 60
  plugins:
     dir: ../plugins
     sequence:   
     - oauth
     - plugin-name
  1. Định cấu hình trình bổ trợ. Một số trình bổ trợ có các tham số không bắt buộc mà bạn có thể định cấu hình trong tệp config. Ví dụ: bạn có thể thêm đoạn mã sau để định cấu hình trình bổ trợ chặn đột biến. Hãy xem bài viết Sử dụng trình bổ trợ chặn đột biến để biết thêm thông tin.
    edgemicro:
      home: ../gateway
      port: 8000
      max_connections: -1
      max_connections_hard: -1
      logging:
        level: info
        dir: /var/tmp
        stats_log_interval: 60
      plugins:
        dir: ../plugins
        sequence:
          - oauth
          - spikearrest
    spikearrest:
       timeUnit: minute
       allow: 10
  1. Lưu tệp.
  2. Khởi động lại hoặc tải lại Edge Microgateway, tuỳ thuộc vào tệp cấu hình mà bạn đã chỉnh sửa.

Cấu hình dành riêng cho trình bổ trợ

Bạn có thể ghi đè các tham số trình bổ trợ được chỉ định trong tệp cấu hình bằng cách tạo một cấu hình dành riêng cho trình bổ trợ trong thư mục này:

[prefix]/lib/node_modules/edgemicro/node_modules/microgateway-plugins/config

trong đó [prefix] là thư mục tiền tố npm. Hãy xem phần Edge Microgateway được cài đặt ở đâu nếu bạn không tìm thấy thư mục này.

plugins/<plugin_name>/config/default.yaml. Ví dụ: bạn có thể đặt khối này trong plugins/spikearrest/config/default.yaml và các khối này sẽ ghi đè mọi chế độ cài đặt cấu hình khác.

spikearrest:
   timeUnit: hour   
   allow: 10000   
   buffersize: 0

Sử dụng trình bổ trợ chống đột biến

Trình bổ trợ chặn đột biến giúp ngăn chặn tình trạng lưu lượng truy cập tăng đột biến. Chính sách này điều tiết số lượng yêu cầu được xử lý bởi một phiên bản Edge Microgateway.

Thêm trình bổ trợ chặn đột biến

Xem phần Thêm và định cấu hình trình bổ trợ.

Cấu hình mẫu để ngăn chặn đột biến

edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
  plugins:
    dir: ../plugins
    sequence:
      - oauth
      - spikearrest
spikearrest:
   timeUnit: minute
   allow: 10
   bufferSize: 5

Các lựa chọn cấu hình để ngăn chặn đột biến

  • timeUnit: Tần suất đặt lại cửa sổ thực thi tính năng ngăn chặn đột biến. Các giá trị hợp lệ là giây hoặc phút.
  • allow: Số lượng yêu cầu tối đa được phép trong timeUnit. Xem thêm phần Nếu bạn đang chạy nhiều quy trình Edge Micro.
  • bufferSize: (không bắt buộc, mặc định = 0) nếu bufferSize > 0, tính năng chặn đột biến sẽ lưu trữ số lượng yêu cầu này trong một vùng đệm. Ngay khi "cửa sổ" thực thi tiếp theo xuất hiện, các yêu cầu được lưu vào bộ nhớ đệm sẽ được xử lý trước. Xem thêm phần Thêm vùng đệm.

Tính năng chống đột biến hoạt động như thế nào?

Hãy xem tính năng chặn đột biến là một cách để bảo vệ nói chung trước các đợt tăng đột biến lưu lượng truy cập, thay vì là một cách để giới hạn lưu lượng truy cập ở một số lượng yêu cầu cụ thể. API và phần phụ trợ của bạn có thể xử lý một lượng lưu lượng truy cập nhất định và chính sách chặn đột biến giúp bạn điều chỉnh lưu lượng truy cập thành lượng truy cập chung mà bạn muốn.

Hành vi ngăn chặn đột biến trong thời gian chạy khác với những gì bạn có thể thấy từ các giá trị theo nghĩa đen mỗi phút hoặc mỗi giây mà bạn nhập.

Ví dụ: giả sử bạn chỉ định tốc độ là 30 yêu cầu mỗi phút, như sau:

spikearrest:
   timeUnit: minute
   allow: 30

Trong quá trình kiểm thử, bạn có thể nghĩ rằng mình có thể gửi 30 yêu cầu trong 1 giây, miễn là các yêu cầu đó được gửi trong vòng 1 phút. Nhưng chính sách này không thực thi chế độ cài đặt theo cách đó. Nếu bạn nghĩ về điều này, 30 yêu cầu trong khoảng thời gian 1 giây có thể được coi là một mức tăng đột biến nhỏ trong một số môi trường.

Vậy điều gì thực sự xảy ra? Để ngăn chặn hành vi tăng đột biến, tính năng ngăn chặn tăng đột biến sẽ làm mượt lưu lượng truy cập được phép bằng cách chia chế độ cài đặt của bạn thành các khoảng thời gian nhỏ hơn, như sau:

Mức giá mỗi phút

Tốc độ mỗi phút được làm mịn thành các khoảng thời gian được phép yêu cầu tính bằng giây. Ví dụ: 30 yêu cầu mỗi phút sẽ được làm mượt như sau:

60 giây (1 phút) / 30 = khoảng thời gian 2 giây, tức là khoảng 1 yêu cầu được phép thực hiện sau mỗi 2 giây. Yêu cầu thứ hai trong vòng 2 giây sẽ không thành công. Ngoài ra, yêu cầu thứ 31 trong vòng một phút sẽ không thành công.

Mức giá mỗi giây

Tốc độ mỗi giây được làm mượt thành số yêu cầu được phép trong khoảng thời gian tính bằng mili giây. Ví dụ: 10 yêu cầu/giây sẽ được làm mượt như sau:

1000 mili giây (1 giây) / 10 = khoảng thời gian 100 mili giây, tức là khoảng 1 yêu cầu được phép cứ 100 mili giây một lần . Yêu cầu thứ hai trong vòng 100 mili giây sẽ không thành công. Ngoài ra, yêu cầu thứ 11 trong vòng một giây sẽ không thành công.

Khi vượt quá giới hạn

Nếu số lượng yêu cầu vượt quá giới hạn trong khoảng thời gian đã chỉ định, thì tính năng chặn đột biến sẽ trả về thông báo lỗi này với trạng thái HTTP 503:

{"error": "spike arrest policy violated"}

Thêm khoảng thời gian đệm

Bạn có thể thêm khoảng thời gian dự phòng vào chính sách. Giả sử bạn đặt vùng đệm thành 10. Bạn sẽ thấy rằng API không trả về lỗi ngay lập tức khi bạn vượt quá giới hạn chặn đột biến. Thay vào đó, các yêu cầu sẽ được lưu vào bộ nhớ đệm (tối đa là số lượng được chỉ định) và các yêu cầu được lưu vào bộ nhớ đệm sẽ được xử lý ngay khi có cửa sổ thực thi thích hợp tiếp theo. bufferSize mặc định là 0.

Nếu bạn đang chạy nhiều quy trình Edge Micro

Số lượng yêu cầu được phép phụ thuộc vào số lượng quy trình Edge Micro Worker đang chạy. Tính năng chặn đột biến sẽ tính toán số lượng yêu cầu được phép cho mỗi quy trình worker. Theo mặc định, số lượng quy trình Edge Micro bằng với số lượng CPU trên máy mà Edge Micro được cài đặt. Tuy nhiên, bạn có thể định cấu hình số lượng quy trình worker khi khởi động Edge Micro bằng cách sử dụng tuỳ chọn --processes trên lệnh start. Ví dụ: nếu bạn muốn tính năng chặn đột biến kích hoạt ở 100 yêu cầu trong một khoảng thời gian nhất định và nếu bạn khởi động Edge Microgateway bằng lựa chọn --processes 4, thì hãy đặt allow: 25 trong cấu hình chặn đột biến. Tóm lại, quy tắc chung là đặt tham số cấu hình allow thành giá trị "số lượng cần thiết để ngăn chặn đột biến / số lượng quy trình".

Sử dụng trình bổ trợ hạn mức

Hạn mức chỉ định số lượng thông báo yêu cầu mà một ứng dụng được phép gửi đến một API trong khoảng thời gian một giờ, một ngày, một tuần hoặc một tháng. Khi một ứng dụng đạt đến hạn mức, các lệnh gọi API tiếp theo sẽ bị từ chối. Xem thêm Sự khác biệt giữa tính năng chặn đột biến và hạn mức là gì?

Thêm trình bổ trợ hạn mức

Xem phần Thêm và định cấu hình trình bổ trợ.

Cấu hình sản phẩm trong Apigee Edge

Bạn định cấu hình hạn mức trong giao diện người dùng Apigee Edge khi định cấu hình sản phẩm API. Bạn cần biết sản phẩm nào chứa proxy có nhận biết cổng siêu nhỏ mà bạn muốn giới hạn bằng hạn mức. Bạn phải thêm sản phẩm này vào một ứng dụng dành cho nhà phát triển. Khi bạn thực hiện các lệnh gọi API được xác thực bằng khoá trong ứng dụng dành cho nhà phát triển, hạn mức sẽ được áp dụng cho các lệnh gọi API đó.

  1. Đăng nhập vào tài khoản tổ chức Apigee Edge của bạn.
  2. Trong giao diện người dùng Edge, hãy mở sản phẩm được liên kết với proxy có nhận biết microgateway mà bạn muốn áp dụng hạn mức.
    1. Trong giao diện người dùng, hãy chọn Sản phẩm trong trình đơn Xuất bản.
    2. Mở sản phẩm chứa API mà bạn muốn áp dụng hạn mức.
    3. Nhấp vào Chỉnh sửa.
    4. Trong trường Hạn mức, hãy chỉ định khoảng thời gian hạn mức. Ví dụ: 100 yêu cầu mỗi phút. Hoặc 50.000 yêu cầu sau mỗi 2 giờ.

  1. Nhấp vào Lưu.
  2. Đảm bảo rằng sản phẩm được thêm vào một ứng dụng dành cho nhà phát triển. Bạn sẽ cần các khoá từ ứng dụng này để thực hiện các lệnh gọi API đã xác thực.

Cấu hình mẫu cho hạn mức

edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
  plugins:
    dir: ../plugins
    sequence:
      - oauth
      - quota

Các lựa chọn về cấu hình cho hạn mức

Để định cấu hình trình bổ trợ hạn mức, hãy thêm phần tử quotas vào tệp cấu hình, như trong ví dụ sau:

edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
  plugins:
    dir: ../plugins
    sequence:
      - oauth
      - quota
quotas:
    bufferSize:
      hour: 20000
      minute: 500
      month: 1
      default: 10000
    useDebugMpId: true
    failOpen: true
...
Phương thức Mô tả
bufferSize

(Số nguyên) Cấu hình bufferSize cho phép bạn điều chỉnh tần suất Edge Microgateway đồng bộ hoá số lượng hạn mức với Apigee Edge. Để hiểu bufferSize, hãy xem xét ví dụ về cấu hình sau:

quotas:
 bufferSize:
  minute: 500
  default: 10000
 useDebugMpId: true
 failOpen: true

Theo mặc định, microgateway sẽ đồng bộ hoá bộ đếm hạn mức với Apigee Edge sau mỗi 5 giây nếu khoảng thời gian hạn mức được đặt thành "phút". Cấu hình trên cho biết rằng nếu khoảng thời gian hạn mức được đặt trong sản phẩm API là "phút", thì Edge Microgateway sẽ đồng bộ hoá với Edge để lấy số lượng hạn mức hiện tại sau mỗi 500 yêu cầu hoặc sau 5 giây, tuỳ theo điều kiện nào đến trước. Để biết thêm thông tin, hãy xem bài viết Tìm hiểu cách tính hạn mức.

Các đơn vị thời gian được phép bao gồm: minute, hour, day, week, monthdefault.

failOpen Khi tính năng này được bật, nếu xảy ra lỗi xử lý hạn mức hoặc nếu yêu cầu "áp dụng hạn mức" đến Edge không cập nhật được bộ đếm hạn mức từ xa, thì hạn mức sẽ chỉ được xử lý dựa trên số lượng cục bộ cho đến khi quá trình đồng bộ hoá hạn mức từ xa thành công tiếp theo diễn ra. Trong cả hai trường hợp này, cờ quota-failed-open được đặt trong đối tượng yêu cầu.

Để bật tính năng "fail open" (mở khi thất bại) cho hạn mức, hãy thiết lập cấu hình sau:

edgemicro:
...
quotas:
  failOpen: true
...
useDebugMpId Đặt cờ này thành true để bật tính năng ghi nhật ký mã nhận dạng MP (trình xử lý thông báo) trong các phản hồi về hạn mức.

Để sử dụng tính năng này, bạn phải thiết lập cấu hình sau:

edgemicro:
...
quotas:
  useDebugMpId: true
...

Khi useDebugMpId được đặt, các phản hồi về hạn mức từ Edge sẽ chứa mã MP và sẽ được Edge Microgateway ghi lại. Ví dụ:

{
    "allowed": 20,
    "used": 3,
    "exceeded": 0,
    "available": 17,
    "expiryTime": 1570748640000,
    "timestamp": 1570748580323,
    "debugMpId": "6a12dd72-5c8a-4d39-b51d-2c64f953de6a"
}
useRedis Nếu được đặt thành true, trình bổ trợ sẽ sử dụng Redis cho bộ nhớ hỗ trợ hạn mức. Để biết thông tin chi tiết, hãy xem bài viết Sử dụng bộ nhớ dự phòng Redis cho hạn mức.

Tìm hiểu cách tính hạn mức

Theo mặc định, microgateway sẽ đồng bộ hoá bộ đếm hạn mức với Apigee Edge sau mỗi 5 giây nếu khoảng thời gian hạn mức được đặt thành "phút". Nếu khoảng thời gian được đặt ở mức cao hơn "phút", chẳng hạn như "tuần" hoặc "tháng", thì khoảng thời gian làm mới mặc định là 1 phút.

Điều quan trọng cần lưu ý là bạn chỉ định khoảng thời gian hạn mức trong các sản phẩm API được xác định trên Apigee Edge. Khoảng thời gian hạn mức chỉ định số lượng yêu cầu được phép trong một phút, giờ, ngày, tuần hoặc tháng. Ví dụ: Sản phẩm A có thể có hạn mức là 100 yêu cầu mỗi phút và Sản phẩm B có thể có hạn mức là 10.000 yêu cầu mỗi giờ.

Cấu hình YAML của trình bổ trợ Edge Microgateway quota không đặt khoảng thời gian hạn mức; thay vào đó, cấu hình này cung cấp một cách để điều chỉnh tần suất mà một phiên bản Edge Microgateway cục bộ đồng bộ hoá số lượng hạn mức với Apigee Edge.

Ví dụ: giả sử có 3 sản phẩm API được xác định trong Apigee Edge với các khoảng thời gian hạn mức sau đây:

  • Sản phẩm A có hạn mức là 100 yêu cầu mỗi phút
  • Sản phẩm B có hạn mức 5.000 yêu cầu mỗi giờ
  • Sản phẩm C có hạn mức là 1.000.000 yêu cầu mỗi tháng

Với những chế độ cài đặt hạn mức đó, bạn nên định cấu hình trình bổ trợ Edge Microgateway quota như thế nào? Bạn nên định cấu hình Edge Microgateway với các khoảng thời gian đồng bộ hoá thấp hơn khoảng thời gian hạn mức được xác định trong các sản phẩm API. Ví dụ:

quotas:
    bufferSize:
      hour: 2000
      minute: 50
      month: 1
      default: 10000

Cấu hình này xác định các khoảng thời gian đồng bộ hoá sau đây cho các sản phẩm API được mô tả trước đó:

  • Sản phẩm A được đặt ở khoảng thời gian "phút". Edge Microgateway sẽ đồng bộ hoá với Edge sau mỗi 50 yêu cầu hoặc 5 giây, tuỳ theo điều kiện nào đến trước.
  • Sản phẩm B được đặt ở khoảng thời gian "giờ". Edge Microgateway sẽ đồng bộ hoá với Edge sau mỗi 2.000 yêu cầu hoặc 1 phút, tuỳ theo điều kiện nào đến trước.
  • Sản phẩm C được đặt ở khoảng thời gian "tháng". Edge Microgateway sẽ đồng bộ hoá với Edge sau mỗi yêu cầu hoặc 1 phút (tuỳ theo điều kiện nào đến trước).

Mỗi khi một thực thể microgateway đồng bộ hoá với Edge, số lượng hạn mức của microgateway sẽ được đặt thành số lượng hạn mức đã truy xuất.

Chế độ cài đặt bufferSize cho phép bạn điều chỉnh cách bộ đếm hạn mức được đồng bộ hoá với Edge. Trong trường hợp có lưu lượng truy cập cao, chế độ cài đặt bufferSize cho phép bộ đếm bộ nhớ đệm đồng bộ hoá trước khi quá trình đồng bộ hoá mặc định dựa trên thời gian được kích hoạt.

Tìm hiểu về phạm vi hạn mức

Số lượng hạn mức được giới hạn trong một môi trường của tổ chức. Để đạt được phạm vi này, Edge Microgateway sẽ tạo một giá trị nhận dạng hạn mức là sự kết hợp của "org + env + appName + productName".

Sử dụng kho lưu trữ dự phòng Redis cho hạn mức

Để sử dụng bộ nhớ dự phòng Redis cho hạn mức, hãy dùng cùng một cấu hình được dùng cho tính năng Trình đồng bộ hoá. Sau đây là cấu hình cơ bản cần thiết để sử dụng Redis cho bộ nhớ hạn mức:

edgemicro:
  redisHost: localhost
  redisPort: 6379
  redisDb: 2
  redisPassword: codemaster

quotas:
  useRedis: true
Để biết thông tin chi tiết về các tham số edgemicro.redis*, hãy xem phần Sử dụng bộ đồng bộ hoá.

Kiểm thử trình bổ trợ hạn mức

Khi vượt quá hạn mức, trạng thái HTTP 403 sẽ được trả về cho ứng dụng cùng với thông báo sau:

{"error": "exceeded quota"}

Sự khác biệt giữa tính năng ngăn chặn đột biến và hạn mức là gì?

Điều quan trọng là bạn phải chọn đúng công cụ cho công việc hiện tại. Chính sách hạn mức định cấu hình số lượng thông báo yêu cầu mà một ứng dụng khách được phép gửi đến một API trong khoảng thời gian một giờ, một ngày, một tuần hoặc một tháng. Chính sách hạn mức thực thi các giới hạn sử dụng đối với ứng dụng khách bằng cách duy trì một bộ đếm phân tán để tính tổng các yêu cầu đến.

Sử dụng chính sách hạn mức để thực thi các hợp đồng kinh doanh hoặc SLA với nhà phát triển và đối tác, thay vì để quản lý lưu lượng truy cập hoạt động. Ví dụ: hạn mức có thể được dùng để giới hạn lưu lượng truy cập cho một dịch vụ miễn phí, đồng thời cho phép khách hàng trả phí truy cập đầy đủ.

Sử dụng tính năng chặn đột biến để bảo vệ khỏi tình trạng lưu lượng truy cập API tăng đột biến. Thông thường, tính năng chặn đột biến được dùng để ngăn chặn các cuộc tấn công DDoS hoặc các cuộc tấn công độc hại khác có thể xảy ra.