Cloudflare Computer: فایلسیستم مجازی داخل Durable Object
خلاصهٔ کاملتر
تو README این مخزن اومده که Cloudflare Computer یه فایلسیستم مجازیه که داخل یه Durable Object زندگی میکنه — یعنی همون آبجکت پایداری که تو پلتفرم Workers حالت رو نگه میداره. نسخهٔ معتبر فایلها توی SQLite ذخیره میشه و کل اجرای کد از یه سطح واحد به اسم workspace.runtime رد میشه. اگه اصلاً بکاند اجرایی نخوای، میتونی Workspace رو خالی بسازی و فقط از فایلسیستمش استفاده کنی.
سنگینترین بکاند، Container هست: حالت SQLite رو به شکل یه mount واقعی FUSE داخل یه کانتینر sandbox نشون میده. یه دیمن سمت سندباکس به اسم computerd این mount رو بالا میاره و تغییرات رو با RPC روی capnweb سینک میکنه. نتیجهش یوزرلند کامل لینوکسه با باینریهای واقعی و شبکهٔ واقعی.
دو تای دیگه سبکترن. Isolate shell پروژهٔ just-bash رو داخل یه Dynamic Worker اجرا میکنه و مستقیم با Workers RPC به همون Workspace وصل میشه، پس نه ذخیرهسازی دومی در کاره نه رفتوبرگشت sync. Isolate JavaScript هم یه ماژول ECMAScript رو تو یه Worker تازه اجرا میکنه، با ورودی و خروجی ساختاریافته، import نسبی پایدار و node:fs/promises که پشتش همون Workspace نشسته. هر Workspace میتونه چند بکاند با ID ثابت ثبت کنه و همه از workspace.runtime.exec صدا زده میشن؛ اتصال هم تنبله و موقع اولین استفاده برقرار میشه.
به نوشتهٔ خود مخزن، mount مبتنی بر FUSE توی کارهای metadata-محور از دیسک واقعی جلو میزنه و توی I/O ترتیبی حجیم عقب میمونه؛ بنچمارکها و یه مقایسهٔ npm install با sandbox-sdk تو مستندات هست. مهمتر از همه اینکه تیم تأکید کرده این نسخه فقط preview هست: APIها ناپایدارن، مستندات docs/ نیت آینده رو توصیف میکنه نه کد امروز رو، و برای پروداکشن مناسب نیست. مخزن هم PR ناخواسته قبول نمیکنه.
نکات کلیدی:
- حالت معتبر فایلسیستم توی SQLite داخل یه Durable Object نگه داشته میشه.
- سه بکاند اجرایی: کانتینر با FUSE، شل just-bash روی Dynamic Worker، و اجرای ماژول ECMAScript.
- تنها نقطهٔ ورود اجرا workspace.runtime.exec هست و بکاندها موقع اولین استفاده وصل میشن.
- میشه Workspace رو بدون هیچ بکاندی ساخت و فقط فایلسیستم رو داشت.
- FUSE داخل computerd روی کارهای metadata-محور سریعتر از دیسک واقعیه و روی I/O ترتیبی بزرگ کندتر.
- پروژه با لایسنس MIT ولی در وضعیت preview منتشر شده و برای پروداکشن توصیه نمیشه.




