ใช้ปลั๊กอิน

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
ข้อมูล

Edge Microgateway เวอร์ชัน 3.0.x

ผู้ชม

หัวข้อนี้มีไว้สำหรับโอเปอเรเตอร์ Edge Microgateway ที่ต้องการใช้ปลั๊กอินที่มีอยู่ซึ่งติดตั้งด้วยไมโครเกตเวย์ นอกจากนี้ยังกล่าวถึงการจับกุมและปลั๊กอินโควต้าโดยละเอียด (ทั้ง 2 อย่างนี้รวมอยู่ในการติดตั้ง) หากคุณเป็นนักพัฒนาซอฟต์แวร์ที่ต้องการพัฒนาปลั๊กอินใหม่ โปรดดูพัฒนาปลั๊กอินที่กำหนดเอง

ปลั๊กอิน Edge Microgateway คืออะไร

ปลั๊กอินคือโมดูล Node.js ที่เพิ่มฟังก์ชันการทำงานให้กับ Edge Microgateway โมดูลปลั๊กอินจะมีรูปแบบที่สอดคล้องกันและจัดเก็บไว้ในตำแหน่งที่ Edge Microgateway รู้จัก ซึ่งช่วยให้ไมโครเกตเวย์ค้นพบและโหลดปลั๊กอินได้โดยอัตโนมัติ Edge Microgateway มีปลั๊กอินที่มีอยู่หลายรายการ และคุณยังสร้างปลั๊กอินที่กำหนดเองได้อีกด้วยตามที่อธิบายไว้ในพัฒนาปลั๊กอินที่กำหนดเอง

ปลั๊กอินที่มีอยู่ซึ่งมาพร้อมกับ Edge Microgateway

Edge Microgateway ให้มาพร้อมกับปลั๊กอินหลายรายการที่มีอยู่แล้วในขณะติดตั้ง ซึ่งรวมถึง

ปลั๊กอิน เปิดใช้โดยค่าเริ่มต้นแล้ว คำอธิบาย
Analytics มี ส่งข้อมูลวิเคราะห์จาก Edge Microgateway ไปยัง Apigee Edge
oauth มี เพิ่มโทเค็น OAuth และการตรวจสอบคีย์ API ไปยัง Edge Microgateway โปรดดูการตั้งค่าและการกำหนดค่า Edge Microgateway
โควต้า ไม่ได้ บังคับใช้โควต้าคำขอที่ส่งไปยัง Edge Microgateway ใช้ Apigee Edge เพื่อจัดเก็บและจัดการโควต้า โปรดดูการใช้ปลั๊กอินโควต้า
การจับกุม ไม่ได้ ป้องกันการเข้าชมที่เพิ่มขึ้นอย่างรวดเร็วและการโจมตี DoS โปรดดูการใช้ปลั๊กอินการจับกุมการเพิ่มขึ้นอย่างฉับพลัน
ตัวพิมพ์ใหญ่-เล็ก ไม่ได้ ตัวอย่างพร็อกซีที่มีความคิดเห็นซึ่งมีไว้เพื่อเป็นแนวทางเพื่อช่วยให้นักพัฒนาซอฟต์แวร์เขียนปลั๊กอินที่กำหนดเอง โปรดดู ปลั๊กอินตัวอย่าง Edge Microgateway
accumulate-request ไม่ได้ รวบรวมข้อมูลคำขอลงในออบเจ็กต์เดียวก่อนส่งข้อมูลไปยังตัวแฮนเดิลถัดไปในเชนปลั๊กอิน มีประโยชน์สำหรับการเขียนปลั๊กอินการเปลี่ยนรูปแบบที่ต้องทำงานกับออบเจ็กต์เนื้อหาคำขอแบบสะสมเดี่ยว
สะสม-คำตอบ ไม่ได้ รวบรวมข้อมูลการตอบกลับลงในออบเจ็กต์เดียวก่อนส่งข้อมูลไปยังตัวแฮนเดิลถัดไปในเชนปลั๊กอิน มีประโยชน์ในการเขียนปลั๊กอินการเปลี่ยนรูปแบบที่ต้องทำงานกับออบเจ็กต์เนื้อหาการตอบกลับแบบรวมรายการเดียว
เปลี่ยนรูปแบบอักษรตัวพิมพ์ใหญ่ ไม่ได้ แปลงข้อมูลคำขอหรือการตอบกลับ ปลั๊กอินนี้แสดงให้เห็นถึงแนวทางปฏิบัติแนะนำของการใช้งานปลั๊กอิน Transform ปลั๊กอินตัวอย่างทำการเปลี่ยนรูปแบบที่ไม่สำคัญ (แปลงข้อมูลคำขอหรือการตอบกลับเป็นตัวพิมพ์ใหญ่) แต่จะนำไปปรับใช้เพื่อเปลี่ยนรูปแบบประเภทอื่นๆ เช่น XML เป็น JSON ได้อย่างง่ายดาย
json2xml ไม่ได้ แปลงข้อมูลคำขอหรือการตอบกลับตามส่วนหัวการยอมรับหรือประเภทเนื้อหา โปรดดูรายละเอียดในเอกสารประกอบเกี่ยวกับปลั๊กอินใน GitHub
หน่วยความจำโควต้า ไม่ได้ บังคับใช้โควต้าคำขอที่ส่งไปยัง Edge Microgateway จัดเก็บและจัดการโควต้าในหน่วยความจำในเครื่อง
healthcheck ไม่ได้ แสดงผลข้อมูลเกี่ยวกับกระบวนการ Edge Microgateway เช่น การใช้หน่วยความจำ การใช้ CPU ฯลฯ หากต้องการใช้ปลั๊กอิน ให้เรียก URL /healthcheck ในอินสแตนซ์ Edge Microgateway ปลั๊กอินนี้มีไว้เพื่อเป็นตัวอย่างที่คุณใช้เพื่อใช้งานปลั๊กอินการตรวจสอบประสิทธิภาพการทำงานของคุณเองได้

จะหาปลั๊กอินที่มีอยู่ได้จากที่ใด

ปลั๊กอินที่มีอยู่ซึ่งมาพร้อมกับ Edge Microgateway คือที่นี่ โดยที่ [prefix] คือไดเรกทอรีคำนำหน้า npm โปรดดู ติดตั้ง Edge Microgateway ไว้ที่ใดหากคุณไม่พบไดเรกทอรีนี้

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

การเพิ่มและกำหนดค่าปลั๊กอิน

ทำตามรูปแบบนี้เพื่อเพิ่มและกำหนดค่าปลั๊กอิน

  1. หยุด Edge Microgateway
  2. เปิดไฟล์การกำหนดค่า Edge Microgateway โปรดดูรายละเอียดที่ตัวเลือก เปลี่ยนแปลงการกำหนดค่า
  3. เพิ่มปลั๊กอินลงในองค์ประกอบ plugins:sequence ของไฟล์การกำหนดค่า ดังนี้ ปลั๊กอินจะทำงานตามลําดับที่ปรากฏในรายการนี้
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. กำหนดค่าปลั๊กอิน ปลั๊กอินบางรายการมีพารามิเตอร์ที่ไม่บังคับซึ่งคุณกำหนดค่าในไฟล์การกำหนดค่าได้ ตัวอย่างเช่น คุณเพิ่มกลุ่มภาษาต่อไปนี้เพื่อกำหนดค่าปลั๊กอินการจับกุมการเพิ่มขึ้นอย่างฉับพลันได้ ดูข้อมูลเพิ่มเติมได้ที่การใช้ปลั๊กอินการจับกุมการเพิ่มขึ้น
    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. บันทึกไฟล์
  2. รีสตาร์ทหรือโหลด Edge Microgateway ใหม่โดยขึ้นอยู่กับไฟล์การกำหนดค่าที่คุณแก้ไข

การกำหนดค่าเฉพาะปลั๊กอิน

คุณลบล้างพารามิเตอร์ของปลั๊กอินที่ระบุในไฟล์การกำหนดค่าได้โดยสร้างการกำหนดค่าเฉพาะปลั๊กอินในไดเรกทอรีนี้

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

โดยที่ [prefix] คือไดเรกทอรีคำนำหน้า npm โปรดดู ติดตั้ง Edge Microgateway ไว้ที่ใดหากคุณไม่พบไดเรกทอรีนี้

plugins/<plugin_name>/config/default.yaml เช่น คุณใส่บล็อกนี้ลงใน plugins/spikearrest/config/default.yaml ได้และการบล็อกนี้จะลบล้างการตั้งค่าการกำหนดค่าอื่นๆ

spikearrest:
   timeUnit: hour   
   allow: 10000   
   buffersize: 0

การใช้ปลั๊กอินการจับกุมการเพิ่มขึ้นอย่างฉับพลัน

ปลั๊กอินระงับการเพิ่มขึ้นอย่างรวดเร็วจะช่วยป้องกันการเข้าชมที่เพิ่มขึ้นอย่างฉับพลัน ซึ่งจะควบคุมจำนวนคำขอที่ประมวลผลโดยอินสแตนซ์ Edge Microgateway

การเพิ่มปลั๊กอินการจับกุมการเพิ่มขึ้นอย่างฉับพลัน

ดูการเพิ่มและกำหนดค่าปลั๊กอิน

ตัวอย่างการกำหนดค่าสำหรับการยับยั้งการเพิ่มขึ้นอย่างรวดเร็ว

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

ตัวเลือกการกำหนดค่าสำหรับการยับยั้งการเพิ่มขึ้นอย่างรวดเร็ว

  • timeUnit: ความถี่ในการรีเซ็ตหน้าต่างดำเนินการระงับการเพิ่มขึ้นอย่างฉับพลัน ค่าที่ถูกต้องคือค่าวินาทีหรือนาที
  • allow: จำนวนคำขอที่อนุญาตสูงสุดในระหว่าง timeUnit โปรดดูเพิ่มเติมที่หากคุณเรียกใช้กระบวนการ Edge Micro หลายรายการ
  • bufferSize: (ไม่บังคับ, ค่าเริ่มต้น = 0) หากBufferSize > 0 การปิดกั้นการขัดขวางจัดเก็บจำนวนคำขอดังกล่าวไว้ในบัฟเฟอร์ ทันทีที่มี "กรอบเวลา" การดำเนินการถัดไปเกิดขึ้น ระบบจะประมวลผลคำขอที่บัฟเฟอร์ก่อน โปรดดูหัวข้อการเพิ่มบัฟเฟอร์

การจับกุมการเพิ่มขึ้นอย่างฉับพลันทำงานอย่างไร

โดยทั่วไปแล้ว การยับยั้งการเพิ่มขึ้นอย่างฉับพลันเป็นวิธีป้องกันการเข้าชมที่เพิ่มขึ้นอย่างรวดเร็ว ไม่ใช่วิธีจำกัดปริมาณการรับส่งข้อมูลให้เป็นไปตามจำนวนคำขอที่ตั้งไว้เท่านั้น API และแบ็กเอนด์รองรับการรับส่งข้อมูลจำนวนหนึ่งได้ และนโยบายการระงับการเพิ่มขึ้นอย่างรวดเร็วช่วยให้การรับส่งข้อมูลไปยังปริมาณทั่วไปที่ต้องการเป็นไปอย่างราบรื่น

พฤติกรรมการยับยั้งการเพิ่มขึ้นอย่างรวดเร็วรันไทม์แตกต่างจากสิ่งที่คุณคาดว่าจะเห็นจากค่าลิเทอรัลต่อนาทีหรือต่อวินาทีที่คุณป้อน

ตัวอย่างเช่น สมมติว่าคุณระบุอัตราคำขอ 30 รายการต่อนาที เช่นนี้

spikearrest:
   timeUnit: minute
   allow: 30

ในการทดสอบ คุณอาจคิดว่าจะส่งคำขอได้ 30 คำขอใน 1 วินาที ตราบใดที่คำขอมาถึงภายใน 1 นาที แต่นั่นไม่ใช่วิธีที่นโยบายบังคับใช้การตั้งค่า ลองคิดดูนะว่าคำขอ 30 รายการภายในช่วง 1 วินาทีอาจถือว่าเป็นการเพิ่มขึ้นอย่างมากในบางสภาพแวดล้อม

แล้วสิ่งที่เกิดขึ้นนั้นเป็นอะไรกันแน่ เพื่อป้องกันพฤติกรรมที่มีลักษณะเหมือนการเพิ่มขึ้นอย่างรวดเร็ว การจับจองที่เพิ่มขึ้นจะช่วยให้การเข้าชมที่ได้รับอนุญาตราบรื่นยิ่งขึ้น โดยแบ่งการตั้งค่าออกเป็นช่วงๆ ดังนี้

อัตราต่อนาที

ระบบจะปรับอัตราต่อนาทีเป็นคำขอเป็นช่วงเวลาไม่กี่วินาทีที่ได้รับอนุญาต ตัวอย่างเช่น ระบบจะปรับคำขอ 30 รายการต่อนาทีให้เรียบเนียนดังนี้

60 วินาที (1 นาที) / 30 = ช่วงเวลา 2 วินาที หรือประมาณ 1 คำขอในทุกๆ 2 วินาที คำขอที่ 2 ภายใน 2 วินาทีจะล้มเหลว และคำขอครั้งที่ 31 ภายใน 1 นาทีก็จะล้มเหลวด้วย

อัตราต่อวินาที

อัตราต่อวินาทีจะถูกปรับเป็นคำขอที่อนุญาตในหน่วยมิลลิวินาที ตัวอย่างเช่น ระบบจะปรับคำขอ 10 รายการ/วินาทีให้ราบรื่นดังนี้

1, 000 มิลลิวินาที (1 วินาที) / 10 = ช่วงเวลา 100 มิลลิวินาที หรือประมาณ 1 คำขอที่อนุญาตทุก 100 มิลลิวินาที คำขอที่ 2 ภายใน 100 มิลลิวินาทีจะล้มเหลว และคำขอครั้งที่ 11 ภายใน 1 วินาทีก็จะล้มเหลวด้วย

เมื่อเกินขีดจำกัด

หากจำนวนคำขอเกินขีดจำกัดภายในช่วงเวลาที่ระบุ การขัดขวางการเพิ่มขึ้นจะแสดงข้อความแสดงข้อผิดพลาดนี้พร้อมด้วยสถานะ HTTP 503 ดังนี้

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

การเพิ่มบัฟเฟอร์

คุณเลือกเพิ่มบัฟเฟอร์ลงในนโยบายได้ สมมติว่าคุณตั้งค่าบัฟเฟอร์เป็น 10 คุณจะเห็นว่า API ไม่แสดงผลข้อผิดพลาดทันทีเมื่อมีการใช้งานเกินขีดจำกัดการกักเก็บที่เพิ่มขึ้น แต่คำขอจะถูกบัฟเฟอร์ (ตามจำนวนที่ระบุ) และคำขอที่บัฟเฟอร์จะได้รับการประมวลผลทันทีที่หน้าต่างการดำเนินการที่เหมาะสมถัดไปพร้อมใช้งาน bufferSize เริ่มต้นคือ 0

หากเรียกใช้กระบวนการ Edge Micro หลายกระบวนการ

จำนวนคำขอที่อนุญาตจะขึ้นอยู่กับจำนวนกระบวนการ Edge Micro Worker ที่ทำงานอยู่ การจับกุมที่เพิ่มขึ้นจะคำนวณจำนวนคำขอที่อนุญาตต่อกระบวนการของผู้ปฏิบัติงาน โดยค่าเริ่มต้น จำนวนการประมวลผล Edge Micro จะเท่ากับจำนวน CPU ของเครื่องที่ติดตั้ง Edge Micro ไว้ อย่างไรก็ตาม คุณสามารถกำหนดค่าจำนวนกระบวนการของผู้ปฏิบัติงานเมื่อคุณเริ่มต้น Edge Micro โดยใช้ตัวเลือก --processes ในคำสั่ง start ได้ ตัวอย่างเช่น หากต้องการให้การควบคุมการขัดขวางการเพิ่มขึ้นทริกเกอร์เมื่อมีคำขอ 100 รายการในระยะเวลาที่กำหนด และหากคุณเริ่มต้น Edge Microgateway ด้วยตัวเลือก --processes 4 ให้ตั้งค่า allow: 25 ในการกำหนดค่าการตรึงการเพิ่มขึ้น กล่าวโดยสรุป กฎสำคัญคือการตั้งค่าพารามิเตอร์การกำหนดค่า allow เป็นค่า "จำนวนการควบคุมการเพิ่มขึ้นที่ต้องการ / จำนวนกระบวนการที่ต้องการ"

การใช้ปลั๊กอินโควต้า

โควต้าจะระบุจำนวนข้อความคำขอที่แอปได้รับอนุญาตให้ส่งไปยัง API ในช่วงเวลา 1 ชั่วโมง วัน สัปดาห์ หรือเดือน เมื่อแอปใช้โควต้าถึงขีดจำกัดแล้ว การเรียก API ที่ตามมาจะถูกปฏิเสธ ดูข้อมูลเพิ่มเติมเกี่ยวกับการจับกุมการเพิ่มขึ้นและโควต้าแตกต่างกันอย่างไร

การเพิ่มปลั๊กอินโควต้า

ดูการเพิ่มและกำหนดค่าปลั๊กอิน

การกำหนดค่าผลิตภัณฑ์ใน Apigee Edge

คุณจะกำหนดค่าโควต้าใน UI ของ Apigee Edge ที่คุณกำหนดค่าผลิตภัณฑ์ API ได้ คุณต้องทราบว่าผลิตภัณฑ์ใดมีพร็อกซี Microgateway-Aware ที่คุณต้องการจำกัดโควต้า คุณต้องเพิ่มผลิตภัณฑ์นี้ลงในแอปของนักพัฒนาซอฟต์แวร์ เมื่อคุณทำการเรียก API ที่มีการตรวจสอบสิทธิ์โดยใช้คีย์ในแอปนักพัฒนาซอฟต์แวร์ โควต้าจะใช้กับการเรียก API เหล่านั้น

  1. ลงชื่อเข้าสู่ระบบบัญชีองค์กร Apigee Edge
  2. ใน Edge UI ให้เปิดผลิตภัณฑ์ที่เชื่อมโยงกับพร็อกซี microgateway-Aware ที่คุณต้องการใช้โควต้า
    1. ใน UI ให้เลือกผลิตภัณฑ์จากเมนู "เผยแพร่"
    2. เปิดผลิตภัณฑ์ที่มี API ที่คุณต้องการใช้โควต้า
    3. คลิกแก้ไข
    4. ในช่องโควต้า ให้ระบุช่วงโควต้า เช่น คำขอ 100 รายการทุก 1 นาที หรือ 50,000 คำขอทุก 2 ชั่วโมง

  1. คลิกบันทึก
  2. โปรดตรวจสอบว่าได้เพิ่มผลิตภัณฑ์ลงในแอปนักพัฒนาซอฟต์แวร์แล้ว คุณจะต้องใช้คีย์จากแอปนี้เพื่อเรียกใช้ API ที่ตรวจสอบสิทธิ์แล้ว

ตัวอย่างการกำหนดค่าสำหรับโควต้า

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 ลงในไฟล์การกำหนดค่า ดังที่แสดงในตัวอย่างต่อไปนี้

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
  useRedis: true
  redisHost: localhost
  redisPort: 6379
  redisDb: 1
...
ตัวเลือก คำอธิบาย
buffersize (จำนวนเต็ม) ขนาดบัฟเฟอร์ที่จะตั้งค่าสำหรับช่วงเวลาที่ระบุ หน่วยเวลาที่อนุญาตประกอบด้วย hour, minute, day, week, month และ default (เพิ่มแล้ว: เวอร์ชัน 3.0.9)
failOpen เมื่อเปิดใช้ฟีเจอร์นี้ หากเกิดข้อผิดพลาดในการประมวลผลโควต้า หรือหากคำขอ "ใช้โควต้า" ไปยัง Edge ไม่อัปเดตตัวนับโควต้าระยะไกล ระบบจะประมวลผลโควต้าตามจำนวนในเครื่องจนกว่าการซิงค์โควต้าระยะไกลจะสำเร็จครั้งถัดไปเท่านั้น ในทั้ง 2 กรณีนี้ จะมีการตั้งค่าแฟล็ก quota-failed-open ในออบเจ็กต์คำขอ (เพิ่มแล้ว: เวอร์ชัน 3.0.9)

หากต้องการเปิดใช้ฟีเจอร์ "เปิดไม่สำเร็จ" ในโควต้า ให้ตั้งค่าการกำหนดค่าต่อไปนี้

edgemicro:
...
quotas:
  failOpen: true
...
useDebugMpId ตั้งค่าสถานะนี้เป็น true เพื่อเปิดใช้การบันทึกรหัส MP (ตัวประมวลผลข้อความ) ในการตอบสนองโควต้า (เพิ่มแล้ว: เวอร์ชัน 3.0.9)

หากต้องการใช้ฟีเจอร์นี้ คุณต้องอัปเดตพร็อกซี edgemicro-auth เป็นเวอร์ชัน 3.0.7 ขึ้นไป และกำหนดการตั้งค่าต่อไปนี้

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

เมื่อตั้งค่า useDebugMpId แล้ว การตอบกลับโควต้าจาก Edge จะมีรหัส MP และ Edge Microgateway จะบันทึก เช่น

{
    "allowed": 20,
    "used": 3,
    "exceeded": 0,
    "available": 17,
    "expiryTime": 1570748640000,
    "timestamp": 1570748580323,
    "debugMpId": "6a12dd72-5c8a-4d39-b51d-2c64f953de6a"
}
useRedis (บูลีน) ตั้งค่าเป็น true เพื่อใช้โมดูลฐานข้อมูลโควต้า Redis เมื่อตั้งค่าแล้ว โควต้าจะจำกัดให้เฉพาะอินสแตนซ์ Edge Microgateway ที่เชื่อมต่อกับ Redis เท่านั้น มิฉะนั้น ตัวนับโควต้าจะเป็นแบบทั่วโลก ค่าเริ่มต้น: false (ใช้โมดูล redis-volos-apigee) (เพิ่มแล้ว: เวอร์ชัน 3.0.10)
redisHost โฮสต์ที่อินสแตนซ์ Redis กำลังทำงานอยู่ ค่าเริ่มต้น: 127.0.0.1 (เพิ่มแล้ว: เวอร์ชัน 3.0.10)
redisPort พอร์ตของอินสแตนซ์ Redis ค่าเริ่มต้น: 6379 (เพิ่มแล้ว: เวอร์ชัน 3.0.10)
redisDb Redis DB ที่จะใช้ ค่าเริ่มต้น: 0 (เพิ่มแล้ว: เวอร์ชัน 3.0.10)

ทำความเข้าใจขอบเขตของโควต้า

จำนวนโควต้ามีขอบเขตอยู่ที่ผลิตภัณฑ์ API หากแอปนักพัฒนาซอฟต์แวร์มีผลิตภัณฑ์หลายรายการ ระบบจะจำกัดโควต้าของแต่ละผลิตภัณฑ์ Edge Microgateway จะสร้างตัวระบุโควต้าที่รวมกันเป็น "appName + productName" เพื่อให้บรรลุขอบเขตนี้

การทดสอบปลั๊กอินโควต้า

เมื่อเกินโควต้า ระบบจะส่งสถานะ HTTP 403 กลับไปยังไคลเอ็นต์ พร้อมกับข้อความต่อไปนี้

{"error": "exceeded quota"}

การจับกุมการเพิ่มขึ้นอย่างรวดเร็วแตกต่างกันอย่างไร

คุณควรเลือกเครื่องมือที่เหมาะกับงานที่กำลังทำอยู่ นโยบายโควต้าจะกำหนดค่าจำนวนข้อความคำขอที่แอปไคลเอ็นต์ได้รับอนุญาตให้ส่งไปยัง API ในช่วงเวลา 1 ชั่วโมง วัน สัปดาห์ หรือเดือน นโยบายโควต้าบังคับใช้ขีดจำกัดการใช้งานในแอปไคลเอ็นต์โดยดูแลรักษาตัวนับแบบกระจายซึ่งจะนับคำขอขาเข้า

ใช้นโยบายโควต้าเพื่อบังคับใช้สัญญาหรือ SLA ทางธุรกิจกับนักพัฒนาซอฟต์แวร์และพาร์ทเนอร์แทนการจัดการการเข้าชมในส่วนการดำเนินงาน เช่น อาจมีการใช้โควต้าเพื่อจำกัดการเข้าชมของบริการฟรี แต่ในขณะเดียวกันก็อนุญาตให้เข้าถึงอย่างเต็มรูปแบบสำหรับลูกค้าที่ชำระเงิน

ใช้การจับกุมการเพิ่มขึ้นอย่างรวดเร็วเพื่อป้องกันการรับส่งข้อมูลของ API ที่พุ่งสูงขึ้นอย่างกะทันหัน โดยปกติแล้ว การจับกุมอย่างฉับพลันจะใช้เพื่อขัดขวาง DDoS หรือการโจมตีที่เป็นอันตรายอื่นๆ