آراؤنا

يجب أن تكون حدود معدل الطلبات موثقة، لا مكتشفة

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

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

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

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

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

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