بنيت واجهة برمجة تطبيقات النشر الخاصة بي في ليلة واحدة
الليلة الماضية صورت قطتي بيير في السرير. كان يفعل ما يفعل — يتسلق عليّ، يحدق بي، وفي النهاية يغني. ضغطت الفيديو، شغلت أمراً واحداً، وظهر في أعلى خلاصة الفيديو المباشر خاصتي تلقائياً.
جاء الرد في ثوانٍ: ٩٨ فيديو. بيير في القمة. الخلاصة محدثة. انتهى.
ما حدث بالفعل
تحت الغطاء، عامل Cloudflare واحد تعامل مع كل شيء: استقبل بايتات الفيديو، خزّنها في تخزين الكائنات R2، جلب ملف JSON الخاص بالخلاصة الحالي، أضاف رابط الفيديو الجديد إلى بداية القائمة، كتب JSON المحدثة مرة أخرى إلى R2، وحدّث مخزن KV. لا خادم. لا قاعدة بيانات. لا خط أنابيب نشر. مجرد Worker، وbucket، ومخزن key-value.
التكلفة الإجمالية للبنية التحتية تساوي صفراً فعلياً على المقياس الحالي الذي أعمل به.
لماذا هذا يبدو مهماً
قبل الليلة الماضية، كانت إضافة فيديو تتطلب رفعه يدوياً إلى R2 عبر واجهة سطر الأوامر AWS CLI، تحرير ملف JSON الخاص بالخلاصة، إعادة رفعه، ومسح ذاكرة التخزين المؤقت لشبكة توصيل المحتوى CDN. الآن الحاجز هو أمر curl واحد. أو في النهاية، لا أمر على الإطلاق — فقط "يا كلود، ارفع هذا الفيديو."
امتلاك واجهة برمجة تطبيقات لموقعك الخاص يغير ما هو ممكن. إنه الفرق بين مجرد موقع إلكتروني ومنصة كاملة.
طلبة POST واحدة موثقة هي كل ما تحتاجه للنشر على الشبكة. من هنا، يمتد نفس النمط إلى خلاصات متعددة، ومنصات متعددة، وفي النهاية يوتيوب. رفع واحد، في كل مكان دفعة واحدة.
الصورة الأكبر
بدأت تجربة الإشارة لمدة ٣٣٣ يوماً لأجبر نفسي على البناء علناً باستمرار. بحلول الليلة الرابعة، لدي خلاصة فيديو مباشرة، وتدوير cron تلقائي، وشبكة من ٨ نطاقات متصلة، ونتيجة إشارة، والآن واجهة برمجة تطبيقات للنشر يمكنني الوصول إليها من أي مكان.
السلسلة عمرها ٤ أيام. الأساس موجود بالفعل. التالي: سكربت Shell واحد يرفع فيديو، ويغرد عنه، ويحدث كل نقطة نهاية في آنٍ واحد. أمر واحد. توزيع كامل.
Get new posts
Subscribe in your language
Get new posts
Subscribe in your language
New posts delivered to your inbox. Unsubscribe anytime.
Receive in: