الوسوم على الخادم: ضبط التدفقات دون وعد بالامتثال

الخلاصة

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

أرشيف استخبارات خالٍ مع ملفات وخرائط
في هذا المقال

ارسم التدفق قبل النقل

قد يبقى الجمع في المتصفح ثم الإرسال إلى الخادم والوجهات. ينقل Consent Mode الحالات ويعدل سلوكاً معيناً؛ لا يقدم وحده واجهة اختيار أو تحققاً قانونياً.

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

اختبر ما يُرسل فعلاً

  • حدد الحقول والمستلمين المسموحين لكل غرض. افحص العناوين والمعلمات والمعرفات والسجلات قبل النقل؛ لا تفترض ترشيحاً افتراضياً.
  • اختبر القبول والرفض وتغيير الاختيار من البداية للنهاية. تحقق من المتصفح وحاوية الخادم وكل وجهة.
  • طابق الأحداث المستلمة والمقبولة والمنقولة. اختبر التكرار والفقد والعطل والاسترداد ثم تكلفة الخادم وحمله.

قيم الفوائد والالتزامات منفصلة

افحص الأداء على مسارات متشابهة؛ قد يبقى جمع المتصفح ضرورياً. نطاق الطرف الأول ليس إعفاء. في فرنسا إعفاء بعض أدوات قياس الجمهور مشروط ولا يشمل تلقائياً الوسوم الإعلانية.

المراجع الأساسية

لا يزال وضع العلامات من جانب الخادم بحاجة إلى اختبار تدفق العمل.

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

  • تحديد المتصفح، وخادم التجميع، والموردين، والحقول المُرسلة.
  • الاختبار قبل الاختيار، وبعد الرفض، وبعد سحب الموافقة.
  • مقارنة الإعدادات بالأغراض المُعلنة وشروط CNIL ذات الصلة.

المصدر الأساسي: CNIL — Outils de mesure d’audience et traceurs. المنهج المرتبط: اقرأ الدليل العملي.

حصص API وحدود الطلبات

تؤثر الحدود في السعة والمحاولات والتوزيع بين العملاء.

  • سجّل هل الحصة تخص الحساب أو المفتاح أو المورد، وعدد العمليات المتزامنة المسموح بها للعميل. قد يرهق طابور غير محدود الخدمة حتى لو كان متوسط الطلبات منخفضاً.
  • عند 429 فسّر Retry-After إن وُجد وانتظر قبل طلب آخر. اجمع الانتظار المتزايد وتوزيع توقيت العملاء مع حد للمحاولات ومدة إجمالية.
  • عند فقد رد عملية كتابة افحص الحالة قبل التكرار. في المحاكاة اجمع الحصص والردود المتأخرة والإلغاء؛ يجب أن ينتهي الطابور بلا آثار مكررة.

حالة قبول قابلة للتكرار

مثال افتراضي: البيانات لا تصف عميلاً أو نتيجة مرصودة.

عرض بيانات الحالة
{
    "http_status": 429,
    "retry_after_seconds": 30,
    "workers": 20,
    "retry_budget": 3,
    "retry_budget_scope": "per_worker_retries_excluding_initial_request",
    "scheduling_example": {
        "response_received_at_seconds": 0,
        "illustrative_retry_seconds": [
            30,
            31,
            32,
            33,
            34
        ],
        "workers_per_second": 4,
        "alternative_deadline_seconds": 25,
        "total_attempts_if_all_retries_used": 80
    }
}

القرار المتوقع

احترم انتظار 30 ثانية ووزّع محاولات العمال العشرين وحدد سقفاً للتكرار.

عشرون عميلًا: توزيع المحاولات وحسابها

مثال افتراضي: يتلقى 20 عاملًا عند +0 s ردًا 429 مع Retry-After: 30. الأوقات توزيع ممكن وليست ضمانًا لسعة الخادم. لكل عامل 3 محاولات إعادة إضافة إلى طلبه الأول.

السياسةالحساب أو التوقيتالأثر
إعادة متزامنة20 × 1 = 20 @ +30 sانتظار 30 ثانية يحترم المهلة، لكن الطلبات العشرين تعود معًا وقد تتكرر طفرة الحمل.
إعادة موزعة4 × 5 = 20 @ +30…+34 sأربعة طلبات في الثانية لمدة خمس ثوانٍ توزع المحاولات العشرين دون تقليل عددها. الجدول التوضيحي لا يستبدل سياسة انتظار متزايد بتفاوت عشوائي.
مهلة 25 ثانية25 s < 30 s → 0إذا كان الوقت المتبقي أقل من الثلاثين ثانية المطلوبة، أوقف الطلب أو أجّله وفق العقد. لا تختصر الانتظار للالتزام بالمهلة.
الحد الأقصى للمحاولات20 × (1 + 3) = 80استخدام كل المحاولات يعني 20 طلبًا أوليًا و60 إعادة، أي 80 طلبًا. الحد لا يضمن النجاح أو سلامة التكرار.

إجراء التحقق

  1. سجّل نطاق الحصة وميزانية التكرار.
  2. استنفد الحصة فقط في اختبار مأذون.
  3. احتفظ بـ 429 وRetry-After وتسلسل محدود. ميّز الحد التقني عن نتيجة العملية؛ فلا ينبغي تحويل نفاد الحصة إلى استجابة تفيد بانعدام المخزون.
  4. حاكِ دون حمل خارجي أربع طبقات بثلاثة طلبات إجمالية لكل منها واحسب المحاولات.
  5. أنه مهلة مهمة افتراضية في الطابور وتحقق من عدم بدء عملية جديدة.
  6. أعد العمل المصرح تدريجياً بعد عطل محاكى واحفظ الطلبات والمهل والنتائج الفريدة.

AWS — Timeouts, retries, and backoff with jitter

هل يثبت 429 أن كتابة سابقة لم تنفّذ؟

لا. تحتاج العملية التي فُقد ردها إلى مطابقة مستقلة؛ لا تستنتج حالتها من رد محاولة أخرى.

المصدر الأساسي: IETF — RFC 6585, HTTP 429. المنهج المرتبط: اقرأ الدليل العملي.

حدود قياس الكربون

تحتاج المقارنة إلى نطاق ووحدة وظيفية مشتركين.

  • حدد المكونات والمنطقة والفترة والوحدة الوظيفية، مثل عملية مكتملة. قارن سيناريوهات تقدم الخدمة نفسها.
  • سجل الطاقة وعامل الانبعاثات والحصة المخصصة من الأجهزة. ميز القياس عن التقدير؛ وثق الاستثناءات دون افتراض أثر صفري.
  • مثال افتراضي: (12 + 3) gCO2e / 5 عمليات = 3 gCO2e لكل عملية. غيّر الافتراضات غير المؤكدة وقارن الانبعاثات الكلية أيضاً.

حالة قبول قابلة للتكرار

مثال افتراضي: البيانات لا تصف عميلاً أو نتيجة مرصودة.

عرض بيانات الحالة
{
    "functional_unit": "accepted_task",
    "energy_kWh": 2,
    "intensity_gCO2e_per_kWh": 100,
    "embodied_gCO2e": 50,
    "accepted_tasks": 100,
    "SCI_gCO2e_per_task": 2.5
}

القرار المتوقع

(2 × 100 + 50)/100 = 2.5 gCO2e لكل مهمة، ضمن النطاق المعلن فقط.

إجراء التحقق

  1. حدد النطاق والوحدة الوظيفية والعوامل.
  2. افصل الطاقة والانبعاثات المضمنة والنتائج.
  3. احتفظ بالمصدر والحساب دون تعويض ضمني.

Green Software Foundation — Software Carbon Intensity

المصدر الأساسي: Green Software Foundation — Software Carbon Intensity. المنهج المرتبط: اقرأ الدليل العملي.

API: منع تضاعف المحاولات بين الطبقات

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

  • ارسم محاولات التطبيق وSDK والوكيل والتبعيات التلقائية. اختر طبقة مسؤولة وعطل أو نسق الإعادات الأخرى وفق العقد. احسب المحاولة الأولى في الميزانية. احفظ معرّف العملية وافحص الآثار غير المؤكدة قبل تكرار إجراء غير آمن للتكرار.
  • حدّد مهلة شاملة للانتظار والاتصال والمعالجة وفق حدود العميل الفعلية. ارفض المهام المنتهية قبل دخول الطابور. الإلغاء المحلي لا يثبت توقف الخادم؛ طابق حالته. أعد الحركة تدريجياً دون تشغيل كل الطوابير معاً.

هل ثلاث محاولات لكل طبقة تعني ثلاثاً إجمالاً؟

لا. أربع طبقات افتراضية بثلاث محاولات إجمالية تعطي حتى 3⁴ = 81 طلباً أخيراً.

هل انتهاء المهمة يلغي أثرها البعيد؟

ليس بالضرورة. يمنع عملاً جديداً متقادماً؛ العملية المبدوءة تحتاج فحص الحالة وتعويضاً إن أمكن.

المصدر الأساسي: AWS — Timeouts, retries, and backoff with jitter. المنهج المرتبط: اقرأ الدليل العملي.