celld 0.4.0؛ پشتیبانی از Workers KV، Queues و R2
خلاصهٔ کاملتر
celld نسخهٔ ۰.۴.۰ رو منتشر کرده و بزرگترین خبرش پشتیبانی اولیه از بایندینگهاست: Workers KV، Queues، Workflows و R2. بایندینگ یعنی همون اتصالی که کد Worker رو به یه سرویس بیرونی مثل انبار کلید-مقدار یا صف وصل میکنه. celld اینها رو مستقیم از کانفیگ Wrangler میخونه و دیپلوی میکنه، پس لازم نیست جدا از اول تعریفشون کنی.
برای توسعهٔ محلی هم celld dev اضافه شده که خودش اپ رو دوباره بیلد میکنه و یه آبجکتاستور محلی و ماندگار داره؛ یعنی نه Docker میخواد نه باکت ابری. کنارش نودها میتونن یه دیپلوی تازه رو بدون ریاستارت قبول کنن: ریکوئستهای در جریان روی نسخهٔ قدیمی تموم میشن و ریکوئستهای جدید میرن روی نسخهٔ تازه. Durable Objectها هم سر نقطههای امن جابهجا میشن و استوریج و وبسوکتهای hibernatableشون حفظ میشه.
بخش زیرساختیتر آپدیت، سفتتر شدن output gate روی Durable Objectه، یعنی همون نگهبانی که نمیذاره خروجی زودتر از ماندگار شدن نوشتهها بیرون بره. حالا یه قاعدهٔ ترتیب واحد رو روی پاسخها، کالهای خروجی، تحویل به Queue و ارسال وبسوکت اعمال میکنه و خروجی فقطخواندنی منتظر میمونه تا نوشتههای ریکوئست یا آلارم قبلی ماندگار شن.
فراخوانیهای fetch پروکسیشده، RPC و وبسوکت هم همه از یه تونل نسخهدار بین نودها رد میشن. بدنهٔ ریکوئست بهصورت استریم به مالک فرستاده میشه و چون celld نسخهای ازش نگه نمیداره، بعد از شروع ارسال دیگه کال رو ریتِرای نمیکنه. این یه تریدآف آگاهانهست: مصرف حافظه پایین میمونه ولی تکرار خودکار رو از دست میدی.
سمت عملیات، دستورهای تازهای برای دیدن سلولها و مدیریت KV و صفها اومده و خروجیهاشون صفحهبندی، پیمایش کامل و NDJSON رو پشتیبانی میکنن.
celld cell list
celld kv list
celld queue peek
celld queue redriveخاموش شدن نرم هم بهتر شده با هندآف دستهای، drain token، تأیید گرفتن از نود جانشین و اسنپشات کامل؛ فقط باید stop grace ارکستریتور رو اونقدر بذاری که کل این مسیر توش جا شه.
موقع آپگرید دو تا چیز رو یادت باشه: فلیت ۰.۳.۰ باید کامل متوقف شه و بعد ۰.۴.۰ بره بالا، چون پروتکل تونل و ارجاع به مقدارهای بزرگ Workers KV بین این دو نسخه سازگار نیست. آدرس هلثچک عمومی هم از /__celld/health رفته به /.well-known/celld/health، پس چکهای لودبالانسر و readiness رو هم عوض کن.
نکات کلیدی:
- پشتیبانی اولیه از بایندینگهای Workers KV، Queues، Workflows و R2، مستقیم از روی کانفیگ Wrangler.
- celld dev برای توسعهٔ محلی، بدون Docker و بدون باکت ابری، با بیلد خودکار.
- تحویل دیپلوی جدید بدون ریاستارت نود، با حفظ استوریج و وبسوکتهای Durable Object.
- سقف پیشفرض ۱ گیبیبایت برای بدنهٔ ریکوئست و یه محدودیت همزمانی بهازای هر سلول.
- مسیر هلثچک از /__celld/health به /.well-known/celld/health منتقل شد.
- پشتیبانی از Amazon EKS Pod Identity و رفع ۸ ایشو باز.




