العودة
فريق Deno ينضم إلى Cloudflare لدمج celld مع workerd لتبسيط الاستضافة الذاتية لـ Workers
SiTech AI Team2 دقيقة قراءة

فريق Deno ينضم إلى Cloudflare لدمج celld مع workerd لتبسيط الاستضافة الذاتية لـ Workers

فريق Deno ينضم إلى Cloudflare لدمج celld مع workerd وتبسيط الاستضافة الذاتية لـ Workers و Durable Objects بشكل جذري للمطورين الذين يعملون على تطبيقات موزعة.

فريق Deno ينضم إلى Cloudflare

فريق Deno ينضم إلى Cloudflare لتبسيط الاستضافة الذاتية لـ Workers و Durable Objects بشكل جذري وتمكين المطورين من استخدام نفس الأوليات في أماكن أكثر. ريان دال، كبير المهندسين، وكنتون فاردا، المهندس المتميز، يشاركان تاريخ هذه الخطوة.

دال، مُنشئ Node.js، شرع في بناء Deno للبحث عن تجريدات أقوى لكتابة JavaScript. كان Deno يحسّن تجربة المطور، لكن برأيه، المشكلات الأكبر تتعلق بالتطبيقات الشبكية: توزيع العمليات الحسابية، تنسيق الحالة، تخزين البيانات، والتوسع التلقائي حسب الطلب.

لماذا كانت Durable Objects مهمة

أصبح الحل واضحًا عندما قرأ دال عن Durable Objects من Cloudflare. فهي توفر كائنًا فرديًا موزعًا مع قاعدة بيانات SQLite. يعمل كل Durable Object كخادم مضيف بعنوان منفصل، مع قاعدة بيانات علائقية خاصة به، وتنفيذ JavaScript أحادي الخيط، ودعم WebSocket، ووصول متزامن إلى SQLite محليًا. بناء تطبيق دردشة بقناة واحدة لكل Durable Object يوزع البيانات واتصالات WebSocket، مما يجعل التطبيق قابلًا للتوسع.

يمكن بناء خدمات أخرى على هذا التجريد، بما في ذلك Queues و KV و Durable Execution وحتى مستودع Git. ومع ذلك، كان تشغيل هذا النموذج خارج Cloudflare صعبًا. workerd مفتوح المصدر، لكن دعمه لـ Durable Objects يقتصر على نسخة واحدة فقط. أراد دال نسخة موزعة، مما أدى إلى إنشاء celld، وهو ملف ثنائي واحد بلغة Rust واعتماده الخارجي الوحيد هو تخزين الكائنات.

رد Cloudflare

رد كنتون فاردا على الادعاء المنتشر بأن Cloudflare أنشأت Workers بشكل مختلف لحبس العملاء. أشار إلى أن Workers مختلف لأنه أفضل، مما يجعل تشغيل التطبيقات في مئات المواقع سهلًا ورخيصًا. كما أشار إلى أن workerd، بيئة Cloudflare Workers، مفتوحة المصدر ويعمل بنفس الكود في الإنتاج، وقد انتقل العملاء السابقون لاستخدامه في أماكن أخرى.

اعترف فاردا أن workerd به عيب في جاهزيته للإنتاج: Durable Objects يعمل فقط في وضع النسخة الواحدة، وهو جيد للاختبار المحلي لكنه لا يمكنه التوسع. تنفيذ التوجيه في الإنتاج يعتمد على خدمات خارجية يديرها مهندسو موثوقية الموقع، مما يجعله غير مناسب للمضيفات الذاتية. قدم celld تنفيذًا متوافقًا تمامًا وقابلًا للاستضافة الذاتية والتوسع.

الخطة

يقود ريان دال وبيرت بيلدير جهدًا جديدًا لجعل الاستضافة الذاتية لـ workerd طريقة مدعومة من الدرجة الأولى لبناء وتشغيل التطبيقات بنموذج برمجة Workers. يشمل العمل دمج كود وأفكار celld في workerd، ومن المتوقع المزيد من الإعلانات في الأشهر القادمة. يمكن للمطورين اليوم البدء بالاستضافة الذاتية لـ celld أو workerd.

المصادر: Cloudflare

SSiTech

SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي

نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.