المدوّنة

ملاحظات تقنية

13 مقالة عن هندسة الأنظمة الخلفية وتشغيل الإنتاج والذكاء الاصطناعي التطبيقي

صندوقا صادر، نمط واحد

Cloud Tasks للأوامر وPub/Sub للأحداث — نفس الـ outbox المعاملاتي، نفس شكل الترحيل، نفس التسليم عبر HTTP. التفرع الحقيقي الوحيد في الطبقة الوسطى، وفي من يملك التوجيه.

اقرأ

تنازع الأقفال الذي لم يظهر في خطة الاستعلام

حتى ألف عامل Go متزامن، كلٌّ منهم يكتب صفوف مستخدمه الخاص فقط في MySQL — ومع ذلك ظل InnoDB يكتشف حالات deadlock بينهم. آلية أقفال الفجوات، مقارنة الحلول، والحل البسيط الذي اخترناه عمدًا.

اقرأ

خط الدفع الذي لم يُحظر

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

اقرأ

صمّم سجلّاتك كأنها API

أسئلة العمل يجيب عنها CloudWatch Logs Insights: عقود سطور السجل، لماذا توسيع سطر موجود يتفوق على إضافة سطر جديد، مطبّات JSON escaping، وفخ مدة الاحتفاظ.

اقرأ

بناء منتج واجهته خيط محادثة

التحقق من رموز LIFF، أشرطة بطاقات Flex Message، القوائم الغنية، وتدفقات البوت توجيهًا — هندسة منصات المحادثة بوصفها انضباطًا خلفيًا.

اقرأ

تقديم توصيات ML داخل تطبيق LINE مصغّر

المعمارية خلف منصة بحث عقاري تُقدَّم بالكامل عبر LINE — خلفية Go، تطبيقات LIFF المصغّرة، خدمة استدلال XGBoost، وخطوط الدفعات التي تُبقي التوصيات طازجة.

اقرأ

استعادة كوارث متعددة المناطق تتمرّن عليها فعلًا

طوكيو أساسية وأوساكا احتياطية بمجموعة وحدات Terraform واحدة: ما الذي تستنسخه، وما الذي تتمرّن عليه، ولماذا خطة تحويل غير مختبَرة رسمٌ بياني لا قدرة.

اقرأ

المعمارية السداسية داخل Lambda، مع الكود

كيف بقيت أكثر من خمسين دالة Lambda بلغة TypeScript قابلة للاختبار ومتّسقة: معالجات من عشرة أسطر، منافذ ومحوّلات، وحالة استخدام واحدة تخدم مداخل الـ API والطوابير والدفعات.

اقرأ

Serverless في الإنتاج: دروس من منصة AWS مؤسسية

أكثر من خمسين دالة Lambda، معمارية سداسية، خطوط معالجة دفعات مدفوعة بـ SQS، واستعادة كوارث متعددة المناطق — البنية وتصميم الطوابير والقرارات التشغيلية خلف منصة serverless مؤسسية.

اقرأ

عندما تكون goroutine الأداة الخاطئة

تقرير ما بعد الحادثة عن إلغاء الـ context في Go: كتابة cache من نوع «أطلق وانسَ» ورثت سياق الطلب فماتت معه — التشخيص، الإصلاح الأول المرفوض، والإصلاح النهائي الممل.

اقرأ

مصادقة بين الخدمات دون service mesh

نمط الـ sidecar proxy على Cloud Run: مصادقة الوارد، الصادر عبر بوابة API داخلية مركزية، وموزّع حمل داخلي يوجّه بالمسار — فوائد الـ mesh دون ثقله.

اقرأ

واجهة واحدة، أربع طرق للدفع

بطاقة مع 3DS، محفظة، دفع في المتجر، وخصم مباشر خلف خدمة داخلية واحدة — كيف يُبقي تجريدُ بوابة الدفع غرائبَ المزوّد خارج تدفق الطلبات.

اقرأ

خدمات مصغّرة موجّهة بالأحداث دون فقدان الأحداث: نمط Transactional Outbox عمليًا

كيف حافظنا على اتساق الطلبات والمدفوعات والخدمات اللاحقة على Cloud Run وSpanner باستخدام نمط الـ outbox المعاملاتي وعمّال ترحيل عبر طوابير المهام — وما الذي كنا سنفعله بشكل مختلف.

اقرأ