استخدام المكوّنات الإضافية

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

الإصدار 3.3.x من Edge Microgateway

الجمهور

هذا الموضوع مخصّص لمشغّلي Edge Microgateway الذين يريدون استخدام المكوّنات الإضافية الحالية المثبَّتة مع microgateway. ويناقش أيضًا بالتفصيل الإضافتين Spike Arrest وQuota (يتم تضمين كلتيهما في عملية التثبيت). إذا كنت مطوّرًا وتريد إنشاء مكوّنات إضافية جديدة، اطّلِع على إنشاء مكوّنات إضافية مخصّصة.

ما هي إضافة Edge Microgateway؟

المكوّن الإضافي هو وحدة Node.js تضيف وظائف إلى Edge Microgateway. تتّبع وحدات المكوّنات الإضافية نمطًا متسقًا ويتم تخزينها في موقع جغرافي معروف لـ Edge Microgateway، ما يتيح للمنتج اكتشافها وتحميلها تلقائيًا. يتضمّن Edge Microgateway العديد من المكوّنات الإضافية الحالية، ويمكنك أيضًا إنشاء مكوّنات إضافية مخصّصة، كما هو موضّح في تطوير مكوّنات إضافية مخصّصة.

المكوّنات الإضافية الحالية المضمّنة في Edge Microgateway

يتم توفير عدد من المكوّنات الإضافية مع Edge Microgateway عند التثبيت. يوضّح الجدول التالي بعض المكوّنات الإضافية الأكثر استخدامًا.

المكوّن الإضافي مفعَّلة تلقائيًا الوصف
إحصاءات نعم يرسل بيانات الإحصاءات من Edge Microgateway إلى Apigee Edge.
oauth نعم تضيف هذه السياسة عملية التحقّق من صحة رمز OAuth المميّز ومفتاح واجهة برمجة التطبيقات إلى Edge Microgateway. اطّلِع على إعداد Edge Microgateway وضبطه.
quota لا يفرض حصة على الطلبات إلى Edge Microgateway. تستخدم هذه السياسة Apigee Edge لتخزين الحصص وإدارتها. يُرجى الاطّلاع على استخدام المكوّن الإضافي للحصة.
spikearrest لا توفير الحماية من الارتفاعات المفاجئة في عدد الزيارات وهجمات الحرمان من الخدمات راجِع مقالة استخدام مكوّن Spike Arrest الإضافي.
header-uppercase لا وكيل نموذجي مع تعليقات مخصّص كدليل لمساعدة المطوّرين في كتابة مكوّنات إضافية مخصّصة. اطّلِع على نموذج إضافة Edge Microgateway.
accumulate-request لا تجميع بيانات الطلبات في عنصر واحد قبل تمرير البيانات إلى المعالج التالي في سلسلة المكوّنات الإضافية وهي مفيدة لكتابة مكوّنات إضافية للتحويل تتطلّب العمل على كائن واحد مجمّع لمحتوى الطلب.
accumulate-response لا تجميع بيانات الاستجابة في عنصر واحد قبل تمرير البيانات إلى المعالج التالي في سلسلة المكوّنات الإضافية مفيدة لكتابة مكوّنات إضافية للتحويل تحتاج إلى العمل على كائن واحد مجمّع لمحتوى الرد.
transform-uppercase لا تحويل بيانات الطلب أو الاستجابة تمثّل هذه الإضافة أفضل الممارسات لتنفيذ إضافة تحويل. ينفّذ المكوّن الإضافي المثال عملية تحويل بسيطة (يحوّل بيانات الطلب أو الاستجابة إلى أحرف كبيرة)، ولكن يمكن تكييفه بسهولة لتنفيذ أنواع أخرى من عمليات التحويل، مثل XML إلى JSON.
json2xml لا تحويل بيانات الطلب أو الردّ استنادًا إلى عناوين القبول أو نوع المحتوى لمزيد من التفاصيل، يُرجى الرجوع إلى مستندات المكوّن الإضافي على GitHub.
quota-memory لا يفرض حصة على الطلبات إلى Edge Microgateway. تخزّن الحصص وتديرها في الذاكرة المحلية.
healthcheck لا تعرض هذه السمة معلومات حول عملية Edge Microgateway، مثل استخدام الذاكرة واستخدام وحدة المعالجة المركزية وما إلى ذلك. لاستخدام المكوّن الإضافي، يمكنك طلب عنوان 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. اضبط المكوّن الإضافي. تتضمّن بعض المكوّنات الإضافية مَعلمات اختيارية يمكنك ضبطها في ملف الإعداد. على سبيل المثال، يمكنك إضافة المقطع التالي لضبط مكوّن Spike Arrest الإضافي. يمكنك الاطّلاع على استخدام مكوّن Spike Arrest الإضافي لمزيد من المعلومات.
    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

استخدام المكوّن الإضافي "منع الارتفاع المفاجئ"

يحمي مكوّن Spike Arrest الإضافي من الارتفاعات المفاجئة في عدد الزيارات. يحدّ هذا الخيار من عدد الطلبات التي تتم معالجتها من خلال مثيل Edge Microgateway.

إضافة المكوّن الإضافي "إيقاف الارتفاع المفاجئ"

اطّلِع على إضافة المكوّنات الإضافية وضبطها.

نموذج الإعدادات الخاصة بسياسة Spike Arrest

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

خيارات الإعداد الخاصة بـ spike arrest

  • استبدِل timeUnit بعدد المرات التي تتم فيها إعادة ضبط نافذة تنفيذ ميزة "الحدّ من الارتفاع المفاجئ". القيم الصالحة هي ثانية أو دقيقة.
  • allow: الحد الأقصى لعدد الطلبات المسموح بها خلال timeUnit. راجِع أيضًا في حال تشغيل عمليات Edge Micro متعددة.
  • bufferSize: (اختياري، القيمة التلقائية = 0) إذا كانت bufferSize > 0، سيخزّن Spike Arrest هذا العدد من الطلبات في مخزن مؤقت. وبمجرد حدوث "نافذة" التنفيذ التالية، ستتم معالجة الطلبات المخزّنة مؤقتًا أولاً. يمكنك أيضًا الاطّلاع على إضافة مخزن مؤقت.

كيف يعمل نظام منع الارتفاع المفاجئ؟

يجب التفكير في ميزة "إيقاف الارتفاع المفاجئ" كطريقة للحماية بشكل عام من الارتفاعات المفاجئة في عدد الزيارات، وليس كطريقة للحدّ من عدد الزيارات إلى عدد محدّد من الطلبات. يمكن أن تتعامل واجهات برمجة التطبيقات والخلفية مع قدر معيّن من عدد الزيارات، وتساعدك سياسة &quot;منع الارتفاع المفاجئ في عدد الزيارات&quot; في تنظيم عدد الزيارات إلى الكميات العامة التي تريدها.

يختلف سلوك منع الارتفاع المفاجئ في وقت التشغيل عن السلوك الذي تتوقّع رؤيته من القيم الحرفية التي تدخلها لكل دقيقة أو لكل ثانية.

على سبيل المثال، لنفترض أنّك حدّدت معدّل 30 طلبًا في الدقيقة، كما يلي:

spikearrest:
   timeUnit: minute
   allow: 30

في مرحلة الاختبار، قد تعتقد أنّه يمكنك إرسال 30 طلبًا في ثانية واحدة، طالما أنّها تصل خلال دقيقة واحدة. لكنّ السياسة لا تفرض الإعداد بهذه الطريقة. إذا فكّرت في الأمر، قد يُعتبر 30 طلبًا خلال ثانية واحدة ارتفاعًا طفيفًا في بعض البيئات.

ماذا يحدث في الواقع؟ لمنع حدوث سلوك يشبه الارتفاع المفاجئ، يعمل نظام منع الارتفاع المفاجئ على تسوية عدد الزيارات المسموح به من خلال تقسيم إعداداتك إلى فواصل زمنية أصغر، وذلك على النحو التالي:

الأسعار لكل دقيقة

يتم تعديل المعدّلات لكل دقيقة لتصبح فترات زمنية مسموح بها بالثواني. على سبيل المثال، يتم تسوية 30 طلبًا في الدقيقة على النحو التالي:

‫60 ثانية (دقيقة واحدة) / 30 = فواصل زمنية مدتها ثانيتان، أو طلب واحد مسموح به كل ثانيتَين تقريبًا. سيتعذّر تنفيذ طلب ثانٍ خلال ثانيتَين. بالإضافة إلى ذلك، سيتعذّر تنفيذ الطلب الحادي والثلاثين خلال دقيقة واحدة.

الفوترة حسب الوقت (بالثواني)

يتم تعديل المعدّلات في الثانية لتصبح طلبات مسموحًا بها في فواصل زمنية بالملّي ثانية. على سبيل المثال، يتم تسوية 10 طلبات في الثانية على النحو التالي:

1000 ملي ثانية (ثانية واحدة) / 10 = فواصل زمنية تبلغ 100 ملي ثانية، أو حوالي طلب واحد مسموح به كل 100 ملي ثانية . سيتعذّر تنفيذ طلب ثانٍ خلال 100 ملي ثانية. بالإضافة إلى ذلك، سيتعذّر تنفيذ الطلب الحادي عشر خلال ثانية واحدة.

عند تجاوز الحدّ الأقصى

إذا تجاوز عدد الطلبات الحدّ الأقصى خلال الفترة الزمنية المحدّدة، ستعرض ميزة &quot;منع الارتفاع المفاجئ&quot; رسالة الخطأ هذه مع الحالة HTTP 503:

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

إضافة مورد احتياطي

يمكنك إضافة فترة سماح إلى السياسة. لنفترض أنّك ضبطت المخزن المؤقت على 10. ستلاحظ أنّ واجهة برمجة التطبيقات لا تعرض رسالة خطأ على الفور عند تجاوز الحد الأقصى المسموح به لعمليات التحكّم في الارتفاع المفاجئ. بدلاً من ذلك، يتم تخزين الطلبات مؤقتًا (بحد أقصى العدد المحدّد)، وتتم معالجة الطلبات المخزّنة مؤقتًا فور توفّر نافذة التنفيذ المناسبة التالية. القيمة التلقائية bufferSize هي 0.

إذا كنت تشغّل عمليات Edge Micro متعددة

يعتمد عدد الطلبات المسموح بها على عدد عمليات Edge Micro العاملة التي يتم تشغيلها. تحسب ميزة "إيقاف الارتفاع المفاجئ" عدد الطلبات المسموح به لكل عملية عاملة. بشكلٍ تلقائي، يكون عدد عمليات Edge Micro مساويًا لعدد وحدات المعالجة المركزية على الجهاز الذي تم تثبيت Edge Micro عليه. ومع ذلك، يمكنك ضبط عدد عمليات المنفِّذ عند بدء Edge Micro باستخدام الخيار --processes في الأمر start. على سبيل المثال، إذا كنت تريد أن يتم تفعيل ميزة &quot;الحدّ من الارتفاع المفاجئ&quot; عند تلقّي 100 طلب خلال فترة زمنية معيّنة، وإذا بدأت Edge Microgateway باستخدام الخيار --processes 4، عليك ضبط allow: 25 في إعدادات ميزة &quot;الحدّ من الارتفاع المفاجئ&quot;. باختصار، القاعدة الأساسية هي ضبط المَعلمة allow config على القيمة "عدد عمليات إيقاف الارتفاع المفاجئ المطلوب / عدد العمليات".

استخدام إضافة الحصة

تحدّد الحصة عدد رسائل الطلبات التي يُسمح لتطبيق بإرسالها إلى واجهة برمجة تطبيقات خلال ساعة أو يوم أو أسبوع أو شهر. عندما يبلغ تطبيق الحد الأقصى للحصة، يتم رفض طلبات البيانات اللاحقة المُرسَلة إلى واجهة برمجة التطبيقات. اطّلِع أيضًا على ما الفرق بين الحدّ الأقصى لعدد الطلبات في الدقيقة والحصة؟

إضافة المكوّن الإضافي للحصة

اطّلِع على إضافة المكوّنات الإضافية وضبطها.

إعدادات المنتج في Apigee Edge

يمكنك ضبط الحصص في واجهة مستخدم Apigee Edge حيث يمكنك ضبط منتجات واجهة برمجة التطبيقات. عليك معرفة المنتج الذي يحتوي على وكيل متوافق مع البوابة المصغّرة والذي تريد فرض حصة عليه. يجب إضافة هذا المنتج إلى تطبيق مطوِّر. وعندما تُجري طلبات بيانات من واجهة برمجة التطبيقات تتم المصادقة عليها باستخدام مفاتيح في تطبيق المطوِّر، سيتم تطبيق الحصة على طلبات البيانات هذه.

  1. سجِّل الدخول إلى حساب مؤسستك على Apigee Edge.
  2. في واجهة مستخدم Edge، افتح المنتج المرتبط بخادم وكيل متوافق مع البوابة المصغّرة تريد تطبيق الحصة عليه.
    1. في واجهة المستخدم، انقر على المنتجات من قائمة "النشر".
    2. افتح المنتج الذي يحتوي على واجهة برمجة التطبيقات التي تريد تطبيق الحصة عليها.
    3. انقر على تعديل.
    4. في الحقل "الحصة"، حدِّد الفترة الزمنية للحصة. على سبيل المثال، 100 طلب كل دقيقة. أو 50,000 طلب كل ساعتين.

  1. انقر على حفظ.
  2. تأكَّد من إضافة المنتج إلى تطبيق مطوِّر، لأنّك ستحتاج إلى المفاتيح من هذا التطبيق لإجراء طلبات مصادقة لواجهة برمجة التطبيقات.

مثال على إعداد الحصة

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
    isHTTPStatusTooManyRequestEnabled: true
...
Option الوصف
bufferSize

(عدد صحيح) يتيح لك إعداد bufferSize تعديل عدد المرات التي تتم فيها مزامنة عدد الحصص في Edge Microgateway مع Apigee Edge. لفهم bufferSize، راجِع مثال الإعدادات التالي:

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

تتم تلقائيًا مزامنة عدّاد الحصة في البوابة المصغّرة مع Apigee Edge كل 5 ثوانٍ إذا تم ضبط الفاصل الزمني للحصة على "دقيقة". يشير الإعداد أعلاه إلى أنّه إذا تم ضبط فاصلة الحصة في منتج واجهة برمجة التطبيقات على "دقيقة"، ستتم مزامنة Edge Microgateway مع Edge للحصول على عدد الحصص الحالي بعد كل 500 طلب أو بعد 5 ثوانٍ، أيهما يحدث أولاً. لمزيد من المعلومات، يُرجى الاطّلاع على التعرّف على طريقة احتساب الحصص.

تشمل وحدات الوقت المسموح بها: minute وhour وday وweek وmonth وdefault.

isHTTPStatusTooManyRequestEnabled

تضبط هذه السمة إضافة الحصة لتعرض رمز حالة HTTP 429 بدلاً من الحالة 403 في حال حدوث انتهاك للحصة.

القيمة التلقائية: false تلقائيًا، أو إذا تم ضبط العلامة على false، تعرض الحصة رمز حالة HTTP 403 عند تجاوز الحصة.

إذا تم ضبط العلامة على true، ستعرض الحصة رمز حالة HTTP 429 عند تجاوز الحصة.

لتغيير حالة الإرجاع التلقائية لبروتوكول HTTP إلى 429، استخدِم الإعداد التالي:

edgemicro:
...
quotas:
  isHTTPStatusTooManyRequestEnabled: true
...
failOpen عند تفعيل هذه الميزة، إذا حدث خطأ في معالجة الحصة أو إذا تعذّر تعديل عدّادات الحصة عن بُعد بسبب تعذُّر تنفيذ طلب "تطبيق الحصة" على Edge، ستتم معالجة الحصة استنادًا إلى الأعداد المحلية فقط إلى أن تتم مزامنة الحصة عن بُعد بنجاح في المرة التالية. في كلتا الحالتَين، يتم ضبط العلامة quota-failed-open في عنصر الطلب.

لتفعيل ميزة "الفتح عند التعذّر" للحصة، اضبط الإعدادات التالية:

edgemicro:
...
quotas:
  failOpen: true
...
useDebugMpId اضبط هذه العلامة على true لتفعيل تسجيل معرّف MP (معالج الرسائل) في ردود الحصة.

لاستخدام هذه الميزة، يجب ضبط الإعدادات التالية:

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 للحصة.

فهم طريقة احتساب الحصص

تتم تلقائيًا مزامنة عدّاد الحصة في البوابة المصغّرة مع Apigee Edge كل 5 ثوانٍ إذا تم ضبط الفاصل الزمني للحصة على "دقيقة". إذا تم ضبط الفاصل الزمني على مستوى أعلى من "دقيقة"، مثل "أسبوع" أو "شهر"، تكون مدة إعادة التحميل التلقائية دقيقة واحدة.

يُرجى العِلم أنّه عليك تحديد فواصل الحصة في منتجات واجهة برمجة التطبيقات المحدّدة على Apigee Edge. تحدّد فواصل الحصص عدد الطلبات المسموح بها في الدقيقة أو الساعة أو اليوم أو الأسبوع أو الشهر. على سبيل المثال، قد يكون للمنتج "أ" فاصل زمني للحصة يبلغ 100 طلب في الدقيقة، وقد يكون للمنتج "ب" فاصل زمني للحصة يبلغ 10,000 طلب في الساعة.

لا يضبط مكوّن Edge Microgateway الإضافي quota في إعدادات YAML فترة الحصة، بل يوفّر طريقة لتعديل معدّل تكرار مزامنة عدد الحصص في مثيل Edge Microgateway محلي مع Apigee Edge.

على سبيل المثال، لنفترض أنّ هناك ثلاثة منتجات API محدّدة في Apigee Edge مع تحديد فواصل الحصص التالية:

  • المنتج (أ) لديه حصة تبلغ 100 طلب في الدقيقة
  • المنتج "ب" لديه حصة تبلغ 5,000 طلب في الساعة
  • يحتوي المنتج C على حصة تبلغ 1,000,000 طلب شهريًا

مع أخذ إعدادات الحصة هذه في الاعتبار، كيف يجب ضبط المكوّن الإضافي quota Edge Microgateway؟ من أفضل الممارسات ضبط إعدادات Edge Microgateway باستخدام فواصل مزامنة أقل من فواصل الحصة المحدّدة في منتجات واجهة برمجة التطبيقات. على سبيل المثال:

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

يحدّد هذا الإعداد فواصل المزامنة التالية لمنتجات واجهة برمجة التطبيقات الموضّحة سابقًا:

  • تم ضبط المنتج (أ) على الفاصل الزمني "دقيقة". ستتم مزامنة Edge Microgateway مع Edge بعد كل 50 طلبًا أو 5 ثوانٍ، أيّهما يحدث أولاً.
  • تم ضبط المنتج "ب" على الفاصل الزمني "ساعة". ستتم مزامنة Edge Microgateway مع Edge بعد كل 2000 طلب أو دقيقة واحدة، أيّهما يحدث أولاً.
  • تم ضبط المنتج C على الفاصل الزمني "شهر". ستتم مزامنة Edge Microgateway مع Edge بعد كل طلب أو بعد دقيقة واحدة، أيّهما يحدث أولاً.

في كل مرة تتم فيها مزامنة مثيل بوابة مصغّرة مع Edge، يتم ضبط عدد الحصص في البوابة المصغّرة على عدد الحصص الذي تم استرداده.

تتيح لك إعدادات bufferSize تعديل طريقة مزامنة عدّاد الحصة مع Edge. في حالات الازدحام الشديد، تسمح إعدادات bufferSize بمزامنة عدّاد المخزن المؤقت قبل بدء المزامنة التلقائية المستندة إلى الوقت.

فهم نطاق الحصة

يتم تحديد نطاق عدد الحصص ببيئة في مؤسسة. لتحقيق هذا النطاق، ينشئ Edge Microgateway معرّف حصة يتألف من "org + env + appName + productName".

استخدام مساحة تخزين احتياطية في Redis للحصة

لاستخدام مساحة تخزين احتياطية في Redis للحصص، استخدِم الإعداد نفسه المستخدَم لميزة Synchronizer. في ما يلي الإعدادات الأساسية المطلوبة لاستخدام Redis لتخزين الحصص:

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

quotas:
  useRedis: true
للحصول على تفاصيل حول مَعلمات edgemicro.redis*، يُرجى الاطّلاع على استخدام أداة المزامنة.

اختبار المكوّن الإضافي الخاص بالحصة

عند تجاوز الحصة، يتم عرض الحالة HTTP 403 للعميل، بالإضافة إلى الرسالة التالية:

{"error": "exceeded quota"}

ما الفرق بين ميزة &quot;منع الارتفاع المفاجئ&quot; والحصة؟

من المهم اختيار الأداة المناسبة للمهمة المطلوبة. تضبط سياسات الحصص عدد رسائل الطلبات التي يُسمح لتطبيق العميل بإرسالها إلى واجهة برمجة التطبيقات خلال ساعة أو يوم أو أسبوع أو شهر. تفرض سياسة الحصة حدود الاستهلاك على تطبيقات العميل من خلال الاحتفاظ بعدّاد موزّع يحسب الطلبات الواردة.

استخدِم سياسة الحصة لتنفيذ العقود التجارية أو اتفاقيات مستوى الخدمة مع المطوّرين والشركاء، بدلاً من استخدامها لإدارة عدد الزيارات التشغيلية. على سبيل المثال، يمكن استخدام الحصة للحدّ من عدد الزيارات إلى خدمة مجانية، مع السماح للعملاء الذين يدفعون بالوصول الكامل إليها.

استخدِم ميزة "إيقاف الارتفاع المفاجئ" للحماية من الارتفاعات المفاجئة في عدد الزيارات إلى واجهة برمجة التطبيقات. يُستخدَم عادةً إجراء &quot;إيقاف الارتفاع المفاجئ&quot; لمنع هجمات الحرمان من الخدمات الموزّعة (DDoS) أو غيرها من الهجمات الضارة المحتملة.