عن المشروع
E2B Runtime هو الخلفية الكاملة التي تشغل E2B Cloud: واجهة برمجة تطبيقات مستوى التحكم، ومنسق كل عقدة الذي يحرك Firecracker، والوكيل الذي يعمل داخل كل جهاز افتراضي، والموجه الطرفي لحركة مرور الصندوق الرملي، ومنشئ القوالب. يمنح كل جلسة وكيل جهاز Linux معزولًا خاصًا بها يبدأ من لقطة، ويشغل ما يطلبه الوكيل، ويمكن إيقافه مؤقتًا واستئنافه كما لو لم يحدث شيء.
إنه مكتوب بلغة Go، مرخص بموجب Apache-2.0، ومبني بواسطة E2B. نفس الكود يخدم السحابة العامة، ونشر المؤسسات المخصصة، وحزم الأجهزة المفردة التي يمكنك تشغيلها على أجهزتك الخاصة.
فكرتان تقودان التصميم:
- الصندوق الرملي هو لقطة مستأنفة. القوالب هي أجهزة افتراضية تم تشغيلها مسبقًا ومخزنة في تخزين الكائنات. إنشاء صندوق رملي يعني استعادته بدلاً من تشغيل نواة من الصفر. يتم تقديم صفحات الذاكرة بتكاسل عبر userfaultfd، ويستخدم نظام الملفات الجذري تراكب نسخ-عند-الكتابة فوق صورة للقراءة فقط.
- مستوى التحكم ومستوى البيانات لا يختلطان أبدًا. تحدد واجهة برمجة التطبيقات مكان تشغيل الصندوق الرملي، بينما يمتلك منسق كل عقدة كيفية تشغيله باستخدام Firecracker، ومساحات أسماء الشبكة، ومجموعات cgroups.
تشمل الميزات:
- صناديق رمل معزولة بالأجهزة باستخدام أجهزة Firecracker الدقيقة مع مساحات أسماء شبكة وجدران حماية فردية.
- قدرات الإيقاف المؤقت والاستئناف مع إيقاف مؤقت تلقائي عند الخمول واستيقاظ شفاف عند حركة المرور الواردة.
- تفرع الصناديق الرملية الجارية لإنشاء مثيلات جديدة فورًا من نقاط التفتيش.
- بناء قوالب متعددة الطبقات من صور Docker مع تسجيل محسّن للمس الصفحات.
- وكيل envd داخل الجهاز الافتراضي يوفر واجهات برمجة تطبيقات للعمليات، وPTY، ونظام الملفات، وإعادة توجيه المنافذ.
- تكامل OpenTelemetry مع مقاييس مصدرة إلى ClickHouse.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.