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

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

Edge Microgateway، الإصدار 3.3.x

الجمهور

هذا الموضوع مخصص لمشغلي Edge Microgateway الذين يريدون استخدام مكونات إضافية حالية يتم تثبيتها باستخدام البوابة الصغيرة. كما يناقش بالتفصيل المزيد من التفاصيل حول التوقف المؤقت والحصص الإضافية (كلاهما مضمّن في التثبيت). إذا كنت مطوّر برامج تريد تطوير مكوّنات إضافية جديدة، يمكنك الاطّلاع على تطوير مكوّنات إضافية مخصَّصة.

ما هو المكوِّن الإضافي Edge Microgateway؟

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

المكونات الإضافية الحالية المرفقة مع Edge Microgateway

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

المكوّن الإضافي مُفعَّلة تلقائيًا الوصف
إحصاءات نعم لإرسال بيانات الإحصاءات من Edge Microgateway إلى Apigee Edge.
oauth نعم لإضافة رمز OAuth المميز ومفتاح واجهة برمجة التطبيقات إلى Edge Microgateway. راجِع إعداد Edge Microgateway وضبطه.
حصة لا لفرض حصة على الطلبات إلى Edge Microgateway. يستخدم Apigee Edge لتخزين الحصص وإدارتها. يُرجى الاطّلاع على استخدام المكوِّن الإضافي للحصة.
إيقاف ضجيج لا يوفر الحماية ضد تكدس البيانات وهجمات الحرمان من الخدمات. يُرجى الاطّلاع على المقالة استخدام المكوّن الإضافي لإيقاف الاستخدام الزائد.
header-uppercase لا نموذج وكيل تم التعليق عليه والغرض منه كدليل لمساعدة المطوّرين على كتابة المكوّنات الإضافية المخصّصة اطّلِع على نموذج المكوّن الإضافي Edge Microgateway.
تجميع الطلب لا تجمع بيانات الطلب في كائن واحد قبل تمرير البيانات إلى المعالج التالي في سلسلة المكوّنات الإضافية. ويفيد ذلك لكتابة المكوّنات الإضافية التي تحتاج إلى العمل على عنصر محتوى واحد متراكم.
accumulate-response لا تجمع بيانات الاستجابة في كائن واحد قبل تمرير البيانات إلى المعالج التالي في سلسلة المكوّنات الإضافية. ويفيد ذلك في كتابة المكوّنات الإضافية لتحويلها والتي تحتاج إلى العمل على كائن محتوى استجابة واحد متراكم.
تحويل-أحرف كبيرة لا تحوِّل بيانات الطلب أو الاستجابة. يمثِّل هذا المكوّن الإضافي تنفيذًا من أفضل الممارسات لمكوّن إضافي للتحويل. يجري المكوِّن الإضافي النموذجي عملية تحويل بسيطة (يحوِّل بيانات الطلبات أو الاستجابة إلى أحرف كبيرة)، ومع ذلك، يمكن تعديله بسهولة لتنفيذ أنواع أخرى من عمليات التحويل، مثل XML إلى JSON.
json2xml لا تحوِّل بيانات الطلبات أو الاستجابة استنادًا إلى عناوين نوع المحتوى أو القبول. للاطّلاع على التفاصيل، يمكنك الرجوع إلى مستندات المكوّنات الإضافية في GitHub.
حصة ذاكرة لا لفرض حصة على الطلبات إلى 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. اضبط المكوّن الإضافي. تتضمن بعض المكوّنات الإضافية معلَمات اختيارية يمكنك ضبطها في ملف الإعداد. على سبيل المثال، يمكنك إضافة المقياس التالي لضبط المكوِّن الإضافي لإيقاف زيادة السرعة. راجِع استخدام المكوّن الإضافي لإيقاف الاستخدام الزائد للحصول على مزيد من المعلومات.
    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: الحد الأقصى لعدد الطلبات المسموح بها أثناء الوحدة الزمنية. راجِع أيضًا إذا كنت تُشغِّل عدة عمليات Edge Micro.
  • bufferSize: (اختيارية، القيمة التلقائية = 0) إذا كانت قيمة bufferSize أعلى من 0، ستخزِّن عملية الإيقاف المتزايدة هذا العدد من الطلبات في المخزن المؤقت. عند حدوث "فترة" التنفيذ التالية، ستتم معالجة الطلبات المخزَّنة مؤقتًا أولاً. راجِع أيضًا إضافة مورد احتياطي.

ما هي آلية عمل الإيقاف المؤقّت؟

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

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

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

spikearrest:
   timeUnit: minute
   allow: 30

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

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

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

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

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

الأسعار في الثانية

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

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

عند تجاوز الحدّ الأقصى المسموح به

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

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

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

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

في حال تشغيل عمليات متعددة لبرنامج Edge Micro

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

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

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

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

راجع إضافة المكوّنات الإضافية وإعدادها.

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

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

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

  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 طلب في الساعة.

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

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

  • يحصل المنتج "أ" على حصة تبلغ 100 طلب في الدقيقة.
  • يحصل المنتج "ب" على حصة تبلغ 5000 طلب في الساعة
  • المنتج "ج" له حصة 1000000 طلب في الشهر

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

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

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

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

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

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

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

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

استخدام مساحة تخزين احتياطية على Redis للحصول على الحصة

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

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

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

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

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

{"error": "exceeded quota"}

ما الفرق بين الإيقاف المؤقت والحصة؟

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

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

يمكنك استخدام الإيقاف المؤقت للحماية من الارتفاعات المفاجئة في عدد زيارات واجهة برمجة التطبيقات. وعادة ما يتم استخدام الإيقاف المؤقت لتفادي هجمات الحرمان من الخدمات الموزعة أو غيرها من الهجمات الضارة.