رفتن به محتوای اصلی
← بازگشت به پروژه‌ها
01 / POOYA LABS
PROJECT / 01سیستم‌های توزیع‌شده و گردش‌کار

AetherFlow

در حال توسعه · M08

پلتفرم اجرای گردش‌کار توزیع‌شده با Rust؛ با تمرکز بر وضعیت پایدار، بازیابی Workerها، تحویل قابل اتکا و مشاهده‌پذیری. پروژه همچنان در حال توسعه است و هنوز محصول آماده تولید محسوب نمی‌شود.

RustPostgreSQLNATS JetStreamOpenTelemetry
01 /مسئله

اجرای گردش‌کار توزیع‌شده با شکست فرایندها، قطع ارتباط و تحویل تکراری پیام روبه‌رو است. مسئله اصلی فقط صف‌کردن کارها نیست؛ وضعیت باید قابل بازیابی و تغییرات قابل ممیزی باشند.

02 /راهکار و رویکرد

هسته Rust و Tokio را پیرامون وضعیت پایدار، Workerهای بازیابی‌پذیر و semantics صریح اجرا شکل می‌دهد. PostgreSQL برای ذخیره‌سازی پایدار و NATS JetStream برای انتقال رویداد به‌کار رفته‌اند.

03 /نقش و انتساب

پروژه در سازمان عمومی Pooya Labs نگه‌داری می‌شود؛ README فعلی نویسنده و تفکیک سهم شخصی را مشخص نکرده است.

04 /معماری فنی

هسته ناهمگام Rust/Tokio و کنترل‌پلین Axum روی PostgreSQL پایدار و NATS JetStream قرار دارند. Outbox/Inbox تحویل حداقل یک‌باره را ممکن می‌کند؛ Wasmtime، CLI، SDK تایپ‌شده Rust، OpenAPI و OpenTelemetry لایه‌های توسعه و عملیات‌اند.

جریان اجرای گردش‌کار
نمای ساده‌شده بر اساس معماری و قراردادهای ثبت‌شده در مخزن
05 /جزئیات پیاده‌سازی
  • 01چرخه عمر پایدار Workflow/Task، رویدادهای قابل ممیزی و aggregation تراکنشی.
  • 02Workerهای بازیابی‌پذیر با lease، heartbeat، epoch fencing و retry محدود.
  • 03API نسخه‌دار برای workflow، task، worker و tenant؛ ده جدول با FORCE RLS.
  • 04تفکیک نقش migration از runtime و اعتبارنامه‌های operator/tenant.
  • 05لاگ JSON، tracing هم‌بسته، metrics محدود و خروجی اختیاری OTLP.
06 /تصمیم‌های مهندسی
  • 01تضمین at-least-once است، نه exactly-once عمومی؛ اثر جانبی بیرونی به idempotency برنامه نیاز دارد.
  • 02پروژه experimental است؛ Compose و CI به معنی میزبانی production نیستند.
  • 03بنچمارک فقط روی fingerprint منطبق مقایسه می‌شود و SLO تولیدی نیست.
  • 04RPO/RTO، PITR/WAL archive و آزمون‌های عملیاتی بیشتر هنوز باز هستند.
07 /تست و شواهد اعتبارسنجی
  • 01M00–M07 کامل‌اند؛ M08 هنوز در جریان است.
  • 02restore-to-runtime در run 41882781118 و API restart در run 42011508896 موفق شدند.
  • 03دو جلسه پنج‌تکراری EPYC 9V45 هرکدام 896 رویداد در هر workload را بدون duplicate/error تطبیق دادند.
  • 04سناریوی in-flight worker هنگام قطعی API، failure injectionهای بیشتر و تأیید comparator روی SHA نهایی بازند.
09 /قابلیت‌ها و نکات فنی
  • 01تحویل حداقل یک‌باره همراه با primitiveهای اجرای idempotent
  • 02Lease، heartbeat و retry محدود برای بازیابی Workerها
  • 03کنترل صریح cancellation، timeout، concurrency و backpressure
  • 04API نسخه‌دار، OpenAPI، log ساخت‌یافته، metrics و tracing
  • 05تمرین‌های backup/restore و recovery برای شکست‌های عملیاتی
10 /محدوده و محدودیت‌ها

M00 تا M07 تکمیل و M08 در حال توسعه است. پروژه همچنان experimental است؛ تست‌های benchmark و recovery به‌معنای SLO تولیدی یا آمادگی production نیستند و exactly-once عمومی ادعا نمی‌شود.