نظرًا لأن واجهة برمجة تطبيقات Google Chat هي خدمة مشتركة، نطبّق الحصص والقيود على التأكد من استخدامه بطريقة عادلة من قبل جميع المستخدمين ولحماية البيانات أداء Google Workspace.
إذا تجاوزت إحدى الحصص، ستتلقّى رسالة HTTP تتضمّن 429: Too many requests
.
رمز الحالة. عمليات التحقّق الإضافية من الحدود القصوى لمعدّل الزحف على Chat
الخلفية نفس استجابة الخطأ. إذا حدث هذا الخطأ،
يجب استخدام
خوارزمية التراجع الأسي
ثم أعِد المحاولة لاحقًا. طالما أنك تلتزم بالحصص في الدقيقة والمذكورة في
الجداول التالية، ليس هناك حد لعدد الطلبات التي يمكنك تقديمها
في اليوم.
ينطبق نوعان من الحصص على طرق Chat API: لكل مساحة ولكل مشروع. حصصها.
الحصص لكل مساحة
تحدّ الحصص لكل مساحة من معدّل طلبات البحث في مساحة معيّنة وتتم مشاركتها بين جميع تطبيقات Chat التي تعمل في تلك المساحة وتتصل برقم طرق Chat API لكل حصة
يوضّح الجدول التالي تفاصيل حدود طلبات البحث لكل مساحة:
الحصة لكل مساحة |
طرق Chat API |
الحد المسموح به (لكل 60 ثانية، تتم مشاركته |
---|---|---|
عدد القراءات في الدقيقة |
|
900 |
يكتب في الدقيقة |
|
60 |
الحصص لكل مشروع
تحد الحصص لكل مشروع من معدّل الطلبات لمشروع Google Cloud. وبالتالي تنطبق على تطبيق Chat واحد طرق Chat API لكل حصة
يوضّح الجدول التالي تفاصيل حدود طلبات البحث لكل مشروع. يمكنك أيضًا الاطّلاع على هذه الحدود في صفحة الحصص.
الحصة لكل مشروع |
طرق Chat API |
الحدّ الأقصى المسموح به (لكل 60 ثانية) |
---|---|---|
عدد كتابة الرسالة في الدقيقة |
|
3000 |
عدد قراءة الرسالة في الدقيقة |
|
3000 |
كتابة العضوية في الدقيقة |
|
300 |
عدد رسائل العضوية في الدقيقة |
|
3000 |
كتابة المساحة في الدقيقة |
|
60 |
مساحة القراءة في الدقيقة |
|
3000 |
يكتب المرفق في الدقيقة |
|
600 |
عدد قراءة المرفق في الدقيقة |
|
3000 |
عدد عمليات كتابة التفاعل في الدقيقة |
|
600 |
عدد مرّات قراءة التفاعل في الدقيقة |
|
3000 |
حدود استخدام إضافية
هناك حدود للحصص الإضافية لإنشاء مساحات من النوع GROUP_CHAT
أو SPACE
(باستخدام طريقة spaces.create
أو spaces.setup
).
إنشاء أقل من 35 مساحة في الدقيقة و210 مساحات في كل
ساعة من هذه الأنواع. لا تخضع المساحات من النوع DIRECT_MESSAGE
لهذه
حدود الحصة الإضافية.
يمكن أن تؤدي طلبات البحث الكبيرة في الثانية (QPS) لأي واجهة برمجة تطبيقات تستهدف المساحة نفسها حدود داخلية إضافية غير مرئية في الحصص.
حل أخطاء الحصة المستندة إلى الوقت
بالنسبة إلى جميع الأخطاء التي تستند إلى الوقت (بحد أقصى N طلب لكل X دقيقة)، نوصي يكتشف الرمز الاستثناء ويستخدم رقود أسي مقتطع للتأكد من الأجهزة لا تتسبب في حمل زائد.
التراجع الأسي هو استراتيجية قياسية للتعامل مع الأخطاء لتطبيقات الشبكة. إنّ تعيد خوارزمية التراجع الأسي معالجة الطلبات من خلال زيادة أوقات الانتظار المتزايدة بشكل كبير بين الطلبات، وصولاً إلى أقصى وقت للتراجع. إذا استمرت الطلبات غير ناجحة، أهمية زيادة التأخيرات بين الطلبات بمرور الوقت حتى يتم قبول الطلب.
مثال على الخوارزمية
تعيد خوارزمية التراجع الأسي محاولة الطلبات بشكل متزايد، مما يزيد من وقت الانتظار بين مرات إعادة المحاولة وحتى أقصى وقت للتراجع. على سبيل المثال:
- أرسِل طلبًا إلى Google Chat API.
- في حال عدم نجاح الطلب، يُرجى الانتظار 1 +
random_number_milliseconds
ثم إعادة المحاولة. الطلب. - في حال عدم نجاح الطلب، يُرجى الانتظار إلى الرقم 2 +
random_number_milliseconds
ثم إعادة المحاولة. الطلب. - في حال تعذّر الطلب، يُرجى الانتظار 4 +
random_number_milliseconds
ثم إعادة المحاولة. الطلب. - وهكذا، وما يصل إلى مرة واحدة (
maximum_backoff
). - مواصلة الانتظار وإعادة المحاولة حتى الحدّ الأقصى المسموح به لعدد مرّات إعادة المحاولة، بدون زيادة مدة الانتظار الفترة بين إعادات المحاولة.
حيث:
- يبلغ وقت الانتظار
min(((2^n)+random_number_milliseconds), maximum_backoff)
، مع زيادةn
بمقدار 1 لكل تكرار (طلب). random_number_milliseconds
عبارة عن عدد عشوائي بالمللي ثانية أقل من أو تساوي 1000. ويساعد ذلك في تجنب الحالات التي تتم فيها مزامنة العديد من البرامج بواسطة بعض المواقف وإعادة المحاولة دفعة واحدة، وإرسال الطلبات في أوقات متزامنة أمواج. تتم إعادة احتساب قيمةrandom_number_milliseconds
بعد كل قيمة إعادة محاولة الطلب.- تتراوح مدة
maximum_backoff
عادةً بين 32 أو 64 ثانية. يجب أن تكون القيمة المناسبة حسب حالة الاستخدام.
يمكن للعميل مواصلة إعادة المحاولة بعد الوصول إلى وقت maximum_backoff
.
ولا تحتاج إعادة المحاولة بعد هذه المرحلة إلى الاستمرار في زيادة وقت التراجع. بالنسبة
على سبيل المثال، إذا استخدم العميل وقت maximum_backoff
من 64 ثانية، بعد الوصول إلى
هذه القيمة، فيمكن للعميل إعادة المحاولة كل 64 ثانية. في مرحلة ما،
يجب منع العملاء من إعادة المحاولة إلى أجل غير مسمى.
يعتمد وقت الانتظار بين إعادات المحاولة وعدد المحاولات على حالة الاستخدام وحالة الشبكة.
طلب زيادة الحصة لكل مشروع
بناءً على استخدام موارد مشروعك، قد ترغب في طلب حصة. زيادة. يتم اعتبار طلبات البيانات من واجهة برمجة التطبيقات التي يجريها حساب الخدمة على أنّها تستخدم حساب واحد. ولا يضمن طلب الحصول على حصة زائدة الموافقة. كبير جدًا قد تستغرق الموافقة على زيادة الحصة وقتًا أطول.
ليست كل المشروعات لها الحصص نفسها. مع ازدياد استخدامك لخدمة Google Cloud قد تحتاج إلى زيادة حصصك. إذا كنت تتوقع أحداثًا قادمة لزيادة الاستخدام، يمكنك طلب تعديل الحصص من صفحة "الحصص" في وحدة تحكُّم Google Cloud.
لمزيد من المعلومات، يمكنك الاطّلاع على المراجع التالية: