Sử dụng plugin

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Edge Microgateway phiên bản 3.3.x

Đối tượng người xem

Chủ đề này dành cho các nhà điều hành Edge Microgateway muốn sử dụng các trình bổ trợ hiện có được cài đặt bằng cổng vi cổng. Bài viết này cũng thảo luận chi tiết về các trình bổ trợ kiểm soát tăng đột biến và hạn mức (cả hai đều đi kèm với 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 bài viết 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 bổ sung chức năng cho Edge Microgateway. Các mô-đun trình bổ trợ tuân theo một mẫu nhất quán và được lưu trữ tại một vị trí mà Edge Microgateway biết đến, cho phép cổng vi mô khám phá và tự động tải các mô-đun đó. Edge Microgateway bao gồm một số trình bổ trợ hiện có và bạn cũng có thể tạo các trình bổ trợ tuỳ chỉnh như 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ợ được cung cấp cùng với Edge Microgateway tại thời điểm cài đặt. Bảng sau đây mô tả một số trình bổ trợ thường dùng nhất.

Trình bổ trợ Bật theo mặc định Nội dung mô tả
số liệu phân tích Gửi dữ liệu phân tích từ Edge Microgateway cho Apigee Edge.
oauth Thêm mã thông báo OAuth và phương thức xác thực Khoá API 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 tới Edge Microgateway. Sử dụng Apigee Edge để lưu trữ và quản lý hạn mức. Hãy xem phần Sử dụng trình bổ trợ hạn mức.
vạch tay vịn Không Bảo vệ chống lại việc 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ụ (DoS). Hãy xem phần Sử dụng trình bổ trợ kiểm soát tăng đột biến.
chữ viết hoa trên đầu trang Không Proxy mẫu có nhận xét nhằm mục đích hướng dẫn nhà phát triển viết trình bổ trợ tuỳ chỉnh. Xem trình bổ trợ mẫu Edge Microgateway.
accumlate-request (yêu cầu tích luỹ) 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 chuyển dữ liệu đó đến trình xử lý tiếp theo trong chuỗi trình bổ trợ. Được dùng để 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 tích luỹ duy nhất.
tích-hợp-phản_ứng 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 chuyển dữ liệu đó đến trình xử lý tiếp theo trong chuỗi trình bổ trợ. Được dùng để 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 được tích luỹ duy nhất.
biến đổi-chữ hoa Không Chuyển đổi dữ liệu yêu cầu hoặc phản hồi. Trình bổ trợ này đại diện cho cách triển khai phương pháp hay nhất dành cho trình bổ trợ biến đổi. Trình bổ trợ ví dụ thực hiện một phép biến đổi đơn giản (chuyển đổi dữ liệu yêu cầu hoặc phản hồi thành chữ hoa); tuy nhiên, trình bổ trợ này có thể dễ dàng điều chỉnh để thực hiện các loại biến đổi khác, chẳng hạn như XML sang 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ợ trong GitHub.
hạn mức bộ nhớ Không Thực thi hạn mức đối với các yêu cầu tới 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ợ, hãy gọi URL /healthcheck trên thực thể 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 của riêng mình.

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 đều 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 sau để thêm và định cấu hình trình bổ trợ:

  1. Dừng Edge Microgateway.
  2. Mở 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 thay đổi cấu hình để biết các tuỳ 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. 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 cấu hình. Ví dụ: bạn có thể thêm khổ thơ sau đây để định cấu hình trình bổ trợ bắt giữ tăng đột biến. Hãy xem bài viết Sử dụng trình bổ trợ chống tăng độ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 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ợ kiểm soát tăng đột biến

Trình bổ trợ bắt giữ tăng đột biến giúp ngăn chặn việc lưu lượng truy cập tăng đột biến. Phương thức này điều tiết số lượng yêu cầu được một thực thể Edge Microgateway xử lý.

Thêm trình bổ trợ Bắt giữ tăng đột biến

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

Cấu hình mẫu cho tính năng chống tăng độ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 tuỳ chọn cấu hình để bắt giữ số lần tăng đột biến

  • timeUnit: Tần suất đặt lại khoảng thời gian thực thi lệnh bắt giữ tăng độ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 cho phép trong timeUnit. Hãy 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, thì tính năng bắt giữ tăng độ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 xảy ra, các yêu cầu lưu vào vùng đệm sẽ được xử lý trước. Xem thêm phần Thêm vùng đệm.

Việc chặn đột ngột hoạt động như thế nào?

Hãy coi việc chặn đột biến như một cách để thường đề phòng lưu lượng truy cập tăng đột biến thay vì để hạn chế 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. Ngoài ra, chính sách bắt giữ tăng đột biến sẽ giúp bạn điều chỉnh lưu lượng truy cập đến mức chung mà bạn muốn.

Hành vi bắt giữ tăng đột biến trong thời gian chạy khác với những gì bạn có thể mong đợi thấy từ các giá trị cố định 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ể cho 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 đó đến trong vòng một phút. Tuy nhiên, đó không phải là cách chính sách thực thi chế độ cài đặt đó. Nếu bạn suy 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ức tăng đột biến nhỏ trong một số môi trường.

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

Mức giá mỗi phút

Cước mỗi phút được chuyển thành các yêu cầu theo khoảng thời gian tính bằng giây cho phép. Ví dụ: 30 yêu cầu mỗi phút được làm mượt như sau:

60 giây (1 phút) / 30 = khoảng thời gian 2 giây, hoặc khoảng 1 yêu cầu được phép 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.

Tốc độ mỗi giây

Tốc độ mỗi giây được chuyển thành các 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 được làm mượt như sau:

1000 mili giây (1 giây) / 10 = khoảng thời gian 100 mili giây, hoặc cứ 100 mili giây lại có khoảng 1 yêu cầu được phép . 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 1 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 bắt giữ tăng độ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 vùng đệm

Bạn có thể chọn thêm vùng đệm vào chính sách. Giả sử bạn đặt vùng đệm thành 10. Bạn sẽ thấy API không trả về lỗi ngay lập tức khi vượt quá giới hạn bắt giữ tăng đột biến. Thay vào đó, các yêu cầu sẽ được lưu vào vùng đệm (tối đa số lượng được chỉ định) và các yêu cầu được lưu vào vùng đệm sẽ được xử lý ngay khi có cửa sổ thực thi phù 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 cho phép phụ thuộc vào số lượng quy trình trình chạy Edge Micro đang chạy. Tình trạng bắt giữ đột biến tính toán số lượng yêu cầu được phép trên mỗi quy trình của nhân viên. Theo mặc định, số lượng quy trình Edge Micro bằng với số lượng CPU trên máy đã cài đặt Edge Micro. Tuy nhiên, bạn có thể định cấu hình số lượng tiến trình thực thi 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 bắt giữ tăng độ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 tuỳ chọn --processes 4, thì hãy đặt allow: 25 trong cấu hình phát hiện tăng độ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 yêu cầu bắt giữ tăng đột biến / số lượng quy trình".

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

Hạn mức cho biết số lượng thông báo yêu cầu mà một ứng dụng được phép gửi tới API trong khoảng thời gian một giờ, ngày, tuần hoặc 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. Hãy xem thêm bài viết Đâu là sự khác biệt giữa khả năng bắt giữ tăng đột biến và hạn mức?.

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

Xem 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 có thể thiết lập hạn mức trong giao diện người dùng Apigee Edge, nơi bạn định cấu hình các sản phẩm API. Bạn cần biết sản phẩm nào chứa proxy nhận biết cổng vào nhỏ mà bạn muốn giới hạn bằng một hạn mức. Bạn phải thêm sản phẩm này vào ứng dụng của nhà phát triển. Khi bạn thực hiện lệnh gọi API được xác thực bằng khoá trong ứng dụng của 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 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 nhận biết cổng vào vi mô mà bạn muốn áp dụng hạn mức.
    1. Trong giao diện người dùng, chọn Sản phẩm từ trình đơn Xuất bản.
    2. Mở sản phẩm có 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 hạn mức. Ví dụ: cứ 1 phút có 100 yêu cầu. Hoặc 50.000 yêu cầu mỗi 2 giờ.

  1. Nhấp vào Lưu.
  2. Hãy đảm bảo sản phẩm đã được thêm vào một ứng dụng của nhà phát triển. Bạn sẽ cần có các khoá của ứ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 tuỳ chọn 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ư minh hoạ 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
    isHTTPStatusTooManyRequestEnabled: true
...
Lựa chọn Nội dung 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á hạn mức với Apigee Edge. Để tìm hiểu về bufferSize, hãy xem xét cấu hình ví dụ sau:

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

Theo mặc định, cổng vi mô sẽ đồng bộ hoá bộ đếm hạn mức với Apigee Edge 5 giây một lần nếu khoảng hạn mức được đặt là "phút". Cấu hình trên nói rằng nếu khoảng hạn mức được đặt trong sản phẩm API thành "phút", Edge Microgateway sẽ đồng bộ hoá với Edge để có được 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.

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

isHTTPStatusTooManyRequestEnabled

Định cấu hình trình bổ trợ hạn mức để trả về trạng thái phản hồi HTTP 429 thay vì trạng thái 403 nếu có lỗi vi phạm hạn mức.

Mặc định: false. Theo mặc định hoặc nếu cờ được đặt thành false, hạn mức sẽ trả về trạng thái HTTP 403 khi vượt quá hạn mức.

Nếu cờ được đặt thành true, hạn mức sẽ trả về trạng thái HTTP 429 khi vượt quá hạn mức.

Để thay đổi trạng thái trả về HTTP mặc định thành 429, hãy sử dụng cấu hình sau:

edgemicro:
...
quotas:
  isHTTPStatusTooManyRequestEnabled: true
...
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" tới 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 đồng bộ hoá hạn mức từ xa thành công tiếp theo. Trong cả hai trường hợp này, một cờ quota-failed-open sẽ được đặt trong đối tượng yêu cầu.

Để bật tính năng "không mở được hạn mức", hãy đặt 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ã MP (trình xử lý tin nhắn) trong phản hồi hạn mức.

Để sử dụng tính năng này, bạn phải đặt cấu hình sau:

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

Khi bạn đặt useDebugMpId, 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 bạn đặt thành true, trình bổ trợ sẽ sử dụng Redis cho kho lưu trữ sao lưu hạn mức. Để biết chi tiết, hãy xem phần Sử dụng kho lưu trữ sao lưu của Redis cho hạn mức.

Hiểu cách tính hạn mức

Theo mặc định, cổng vi mô sẽ đồng bộ hoá bộ đếm hạn mức với Apigee Edge 5 giây một lần nếu khoảng hạn mức được đặt là "phút". Nếu bạn đặt khoảng thời gian 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 sẽ là 1 phút.

Điều quan trọng cần lưu ý là bạn cần chỉ định khoảng hạn mức trong các sản phẩm API được xác định trên Apigee Edge. Khoảng hạn mức cho biết số lượng yêu cầu được cho 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ó khoảng hạn mức là 100 yêu cầu mỗi phút và Sản phẩm B có thể có khoảng 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 hạn mức; thay vào đó, cấu hình này cung cấp cách điều chỉnh tần suất mà một thực thể Edge Microgateway cục bộ sẽ đồ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à có các khoảng hạn mức như sau được chỉ định:

  • Sản phẩm A có hạn mức 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 1000.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ợ quota của Edge Microgateway như thế nào? Cách tốt nhất là định cấu hình Edge Microgateway có khoảng thời gian đồng bộ hoá thấp hơn khoảng 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 đã mô tả trước đó:

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

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

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

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

Số lượng hạn mức nằm trong một môi trường trong 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 kết hợp "org + env + appName + productName".

Sử dụng kho lưu trữ sao lưu của Redis cho hạn mức

Để sử dụng kho lưu trữ sao lưu của Redis cho hạn mức, hãy sử 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 có để sử dụng Redis cho việc lưu trữ 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 trình đồ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ề ứng dụng kèm theo thông báo sau:

{"error": "exceeded quota"}

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

Điều quan trọng là bạn cần chọn đúng công cụ cho công việc đang thực hiện. Chính sách về 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 tới API trong khoảng thời gian 1 giờ, ngày, tuần hoặc tháng. Chính sách về hạn mức thực thi các giới hạn tiêu thụ trên các ứng dụng khách bằng cách duy trì bộ đếm được phân phối để kiểm tra các yêu cầu được gửi đến.

Sử dụng chính sách hạn mức để thực thi các hợp đồng kinh doanh hoặc thoả thuận mức độ cung cấp dịch vụ (SLA) với các nhà phát triển và đối tác, thay vì quản lý lưu lượng truy cập trong hoạt động. Ví dụ: Bạn có thể dùng một hạn mức để giới hạn lưu lượng truy cập cho một dịch vụ miễn phí, đồng thời vẫn cho phép những khách hàng trả phí có toàn quyền truy cập.

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