مأموریت تخصیص

تخصیص هوشمند انبار

تخصیص هوشمند انبار، سرویس تصمیم‌گیری بدون وضعیت است که انبارهای واجد شرایط را بر پایهٔ موجودی، هزینه، ETA، ترافیک، ناوگان و SLA رتبه‌بندی و سپس همهٔ SKUها را در Redis به‌صورت اتمیک رزرو می‌کند.

نقش
توسعه‌دهندهٔ مستقل · طراحی سرویس، الگوریتم تخصیص، مدل هم‌زمانی، مشاهده‌پذیری و استقرار
بازه زمانی
۲۰۲۶
وضعیت
پیاده‌سازی مرجع عمومی

شرح مأموریت

انتخاب انبار فقط پیدا کردن موجودی نیست. تصمیم باید تکرارپذیر، توضیح‌پذیر و هنگام رقابت سفارش‌های هم‌زمان برای یک موجودی ایمن باشد.

سرویس رتبه‌بندی را از رزرو جدا، ورودی مبهم را رد و عمداً از تقسیم سفارش جلوگیری می‌کند تا اجرای پایین‌دست یک نتیجهٔ روشن بگیرد.

نقشهٔ سیستم

معماری

  1. قرارداد FastAPI

    مدل‌های ورودی سخت‌گیر، سلامت، تخصیص، متریک Prometheus و مستندات OpenAPI را ارائه می‌دهند.

  2. موتور رتبه‌بندی

    امتیازدهی قطعی نامزدها را با توجه به موجودی، هزینه، ETA، ترافیک، ناوگان و SLA فیلتر و مرتب می‌کند.

  3. نمای Redis

    خواندن pipelineشده، نمای داغ موجودی و وضعیت عملیات را برای تصمیم کم‌تأخیر فراهم می‌کند.

  4. رزرو Lua

    بهترین نامزد اتمیک رزرو می‌شود و اگر هم‌زمانی انتخاب را باطل کند fallback مرتب اعمال می‌شود.

  5. زمان اجرای Kubernetes

    probe، متریک، پیکربندی مقیاس افقی و گردش‌کار blue-green از استقرار پشتیبانی می‌کنند.

مسیر راهبردی

نقشهٔ نبرد

مسیر پیاده‌سازی، ایستگاه‌به‌ایستگاه.

  1. ایستگاه 01

    رتبه‌بندی خالص و قطعی را از side effect جدا کن تا تصمیم آزمون‌پذیر و توضیح‌پذیر باشد.

  2. ایستگاه 02

    خواندن‌های Redis را pipeline کن و بررسی موجودی و کاهش همهٔ SKUها را در یک عملیات Lua انجام بده.

  3. ایستگاه 03

    وقتی درخواست دیگری بین خواندن و رزرو موجودی را برد، نامزدها را به ترتیب رتبه دوباره امتحان کن.

  4. ایستگاه 04

    مسیریابی و هماهنگی کسب‌وکار را بیرون سرویس نگه دار و outbox، CDC و saga را به‌عنوان راهنمای اتصال مستند کن.

  5. ایستگاه 05

    متریک Prometheus، health probe، قرارداد OpenAPI و نمونهٔ استقرار را کنار الگوریتم ارائه کن.

رویارویی حساس

نبرد با غول مرحله

جان غولحل‌شده
  • رقابت میان خواندن و رزرو موجودی، خطای حیاتی است. رتبه‌بندی درست بی‌ارزش است اگر سفارش‌های هم‌زمان SKU را بیش‌فروش کنند یا نیمی از سفارش رزرو بماند.

دستاوردهای آزادشده

پاداش‌های مأموریت

خروجی‌هایی که این مأموریت به همراه داشت.

  • پاداش 01 آزاد شد

    تخصیص قطعی و مستقل آزمون‌پذیر می‌ماند و تغییر نهایی موجودی اتمیک است.

  • پاداش 02 آزاد شد

    fallback رتبه‌بندی‌شده، اولویت کسب‌وکار را وقتی نامزد اول رقابت را می‌بازد حفظ می‌کند.

  • پاداش 03 آزاد شد

    پیاده‌سازی مرجع قراردادهای عملیاتی لازم برای مشاهده و استقرار سرویس را دارد.

آیتم‌های ویژه

تجهیزات فنی

  • Python
  • FastAPI
  • Pydantic
  • Redis
  • Lua
  • Prometheus
  • OpenAPI
  • Docker
  • Kubernetes

شواهد کار

کاوش مأموریت

اعداد 500.7 RPS و 124.6 ms p95 مربوط به اجرای مرجع محلی مستندشده در مخزن هستند، نه SLA تولید؛ نتیجه به سخت‌افزار و بار بستگی دارد.