ใช้ปลั๊กอิน

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

Edge Microgateway v. 3.1.x

กลุ่มเป้าหมาย

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

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

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

ปลั๊กอินที่มีอยู่ซึ่งรวมอยู่ใน Edge Microgateway

Edge Microgateway มีปลั๊กอินที่มีอยู่หลายรายการเมื่อติดตั้ง ซึ่งรวมถึงปลั๊กอินต่อไปนี้

ปลั๊กอิน เปิดใช้โดยค่าเริ่มต้นแล้ว คำอธิบาย
analytics ใช่ ส่งข้อมูล Analytics จาก Edge Microgateway ไปยัง Apigee Edge
oauth ใช่ เพิ่มการตรวจสอบโทเค็น OAuth และคีย์ API ลงใน Edge Microgateway ดูหัวข้อ การตั้งค่า และการกำหนดค่า Edge Microgateway
quota ไม่ บังคับใช้โควต้ากับคำขอที่ส่งไปยัง Edge Microgateway ใช้ Apigee Edge เพื่อจัดเก็บและจัดการ โควต้า ดูหัวข้อการใช้ปลั๊กอินโควต้า
spikearrest ไม่ ป้องกันการรับส่งข้อมูลที่เพิ่มขึ้นอย่างรวดเร็วและการโจมตีแบบ DoS ดูหัวข้อการใช้ปลั๊กอินการป้องกันการรับส่งข้อมูลที่เพิ่มขึ้นอย่างรวดเร็ว
header-uppercase ไม่ พร็อกซีตัวอย่างที่มีคำอธิบายประกอบ ซึ่งมีไว้เพื่อเป็นแนวทางช่วยนักพัฒนาแอปเขียนปลั๊กอินที่กำหนดเอง ดู ปลั๊กอินตัวอย่าง Edge Microgateway
accumulate-request ไม่ สะสมข้อมูลคำขอเป็นออบเจ็กต์เดียวก่อนส่งข้อมูลไปยังตัวแฮนเดิลถัดไปในเชนปลั๊กอิน มีประโยชน์สำหรับการเขียนปลั๊กอินการแปลงที่ต้องทำงานกับออบเจ็กต์เนื้อหาคำขอสะสมรายการเดียว
accumulate-response ไม่ สะสมข้อมูลการตอบสนองเป็นออบเจ็กต์เดียวก่อนส่งข้อมูลไปยังแฮนเดิลเลอร์ถัดไปในเชนปลั๊กอิน มีประโยชน์สำหรับการเขียนปลั๊กอินการแปลงที่ต้องทำงานกับออบเจ็กต์เนื้อหาการตอบสนองสะสมรายการเดียว
transform-uppercase ไม่ แปลงข้อมูลคำขอหรือการตอบสนอง ปลั๊กอินนี้แสดงถึงการใช้งานปลั๊กอินการแปลงตามแนวทางปฏิบัติแนะนำ ปลั๊กอินตัวอย่างจะทำการแปลงแบบง่าย (แปลงข้อมูลคำขอหรือการตอบสนองเป็นตัวพิมพ์ใหญ่) แต่สามารถปรับเปลี่ยนให้ทำการแปลงประเภทอื่นๆ ได้อย่างง่ายดาย เช่น XML เป็น JSON
json2xml ไม่ แปลงข้อมูลคำขอหรือการตอบสนองตามส่วนหัว Accept หรือ Content-Type ดู รายละเอียดได้ใน เอกสารประกอบของปลั๊กอิน ใน GitHub
quota-memory ไม่ บังคับใช้โควต้ากับคำขอที่ส่งไปยัง 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. กำหนดค่าปลั๊กอิน ปลั๊กอินบางรายการมีพารามิเตอร์ที่ไม่บังคับซึ่งคุณกำหนดค่าได้ใน ไฟล์การกำหนดค่า ตัวอย่างเช่น คุณสามารถเพิ่ม stanza ต่อไปนี้เพื่อกำหนดค่าปลั๊กอินการป้องกันการรับส่งข้อมูลที่เพิ่มขึ้นอย่างรวดเร็ว ดูข้อมูลเพิ่มเติมได้ที่ การใช้ปลั๊กอินการป้องกันการรับส่งข้อมูลที่เพิ่มขึ้นอย่างรวดเร็ว
    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: ความถี่ที่หน้าต่างการดำเนินการของการป้องกันการรับส่งข้อมูลที่เพิ่มขึ้นอย่างรวดเร็วจะรีเซ็ต ค่าที่ถูกต้อง คือ "second" หรือ "minute"
  • 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 หลายรายการ

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

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

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

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

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

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

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

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

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

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

หากต้องการใช้ฟีเจอร์นี้ คุณต้องตั้งค่าการกำหนดค่าต่อไปนี้

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 เป็นที่เก็บข้อมูลสำรองสำหรับโควต้า ดูรายละเอียดได้ที่การใช้ที่เก็บข้อมูลสำรอง Redis สำหรับโควต้า

การใช้ที่เก็บข้อมูลสำรอง Redis สำหรับโควต้า

หากต้องการใช้ที่เก็บข้อมูลสำรอง Redis สำหรับโควต้า ให้ใช้การกำหนดค่าเดียวกับที่ใช้สำหรับ ฟีเจอร์ Synchronizer การกำหนดค่าพื้นฐานที่จำเป็นสำหรับการใช้ Redis เป็นที่เก็บข้อมูลโควต้ามีดังนี้

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

quotas:
  useRedis: true
ดูรายละเอียดเกี่ยวกับพารามิเตอร์ edgemicro.redis* ได้ที่ การใช้ Synchronizer

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

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

{"error": "exceeded quota"}

การป้องกันการรับส่งข้อมูลที่เพิ่มขึ้นอย่างรวดเร็วและโควต้าแตกต่างกันอย่างไร

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

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

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