คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่
เอกสารประกอบของ Apigee X info
Edge Microgateway v. 3.0.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
การเพิ่มและการกำหนดค่าปลั๊กอิน
ทำตามรูปแบบนี้เพื่อเพิ่มและกำหนดค่าปลั๊กอิน
- หยุด Edge Microgateway
- เปิดไฟล์การกำหนดค่า Edge Microgateway ดูรายละเอียดได้ที่ การเปลี่ยนแปลงการกำหนดค่า สำหรับตัวเลือก
- เพิ่มปลั๊กอินลงในองค์ประกอบ
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
- กำหนดค่าปลั๊กอิน ปลั๊กอินบางรายการมีพารามิเตอร์ที่ไม่บังคับซึ่งคุณกำหนดค่าได้ใน
ไฟล์การกำหนดค่า ตัวอย่างเช่น คุณสามารถเพิ่ม 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
- บันทึกไฟล์
- รีสตาร์ทหรือโหลด 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 เหล่านั้น
- เข้าสู่ระบบบัญชีขององค์กร Apigee Edge
- ใน UI ของ Edge ให้เปิดผลิตภัณฑ์ที่เชื่อมโยงกับพร็อกซีที่รับรู้ถึง Microgateway ซึ่ง
คุณต้องการใช้โควต้า
- ใน UI ให้เลือกผลิตภัณฑ์ จากเมนู "เผยแพร่"
- เปิดผลิตภัณฑ์ที่มี API ซึ่งคุณต้องการใช้โควต้า
- คลิกแก้ไข
- ในช่อง "โควต้า" ให้ระบุช่วงเวลาโควต้า เช่น คำขอ 100 รายการทุกๆ
1 นาที หรือคำขอ 50,000 รายการทุกๆ 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)
หากต้องการเปิดใช้ฟีเจอร์ "fail open" ของโควต้า ให้ตั้งค่าการกำหนดค่าต่อไปนี้ edgemicro: ... quotas: failOpen: true |
useDebugMpId |
ตั้งค่าแฟล็กนี้เป็น true เพื่อเปิดใช้การบันทึกรหัส MP
(Message Processor) ID
ในการตอบสนองโควต้า (เพิ่มในเวอร์ชัน 3.0.9)
หากต้องการใช้ฟีเจอร์นี้ คุณต้องอัปเดต
พร็อกซี edgemicro: ... quotas: useDebugMpId: true ...
เมื่อตั้งค่า {
"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 ชั่วโมง 1 วัน 1 สัปดาห์ หรือ 1 เดือน นโยบายโควต้าจะบังคับใช้ขีดจำกัดการใช้แอปไคลเอ็นต์โดย การรักษาตัวนับแบบกระจายที่นับคำขอขาเข้า
ใช้นโยบายโควต้าเพื่อบังคับใช้สัญญาทางธุรกิจหรือ SLA กับนักพัฒนาแอปและพาร์ทเนอร์ ไม่ใช่เพื่อการจัดการการรับส่งข้อมูลในการดำเนินงาน ตัวอย่างเช่น คุณอาจใช้โควต้าเพื่อจำกัดการรับส่งข้อมูลสำหรับ บริการฟรี ขณะเดียวกันก็อนุญาตให้ลูกค้าที่ชำระเงินเข้าถึงได้อย่างเต็มที่
ใช้การป้องกันการรับส่งข้อมูลที่เพิ่มขึ้นอย่างรวดเร็วเพื่อป้องกันการรับส่งข้อมูล API ที่เพิ่มขึ้นอย่างฉับพลัน โดยปกติแล้ว การป้องกันการรับส่งข้อมูลที่เพิ่มขึ้นอย่างรวดเร็วจะ ใช้เพื่อป้องกันการโจมตีแบบ DDoS หรือการโจมตีที่เป็นอันตรายอื่นๆ ที่อาจเกิดขึ้น