رفع اشکال
قطعکننده مدار بردار
مشتری Vectorize / Qdrant در یک قطعکننده مدار پیچیده شده است تا یک قطعی در ذخیرهساز جستجوی هوشمند بهجای خراب کردن نوبت بازدیدکننده، بهخوبی از کار بیفتد.
قطعکننده مدار چه کاری انجام میدهد
- خطاهای متوالی از مشتری زیرین را در یک پنجره کشویی شمارش میکند.
- پس از اینکه
VECTOR_CIRCUIT_THRESHOLDخطا درVECTOR_CIRCUIT_WINDOWثانیه ثبت شد، مدار باز میشود. - در حالت باز (
VECTOR_CIRCUIT_COOLDOWNثانیه):search()بلافاصله یک آرایه خالی برمیگرداند. هوش مصنوعی همچنان پاسخ میدهد — فقط تکههای<source>بازیابیشدهای برای آن نوبت ندارد.upsertPoints()/delete*/ensureCollection()/dropCollection()خطایCircuitOpenExceptionرا پرتاب میکنند. وظایف صفشده بهطور خودکار دوباره در صف قرار میگیرند.
- پس از اتمام دوره استراحت، فراخوانی بعدی مشتری زیرین را بررسی میکند. یک بررسی موفق، شمارنده خطا را پاک میکند. یک بررسی ناموفق، مدار را برای یک دوره استراحت دیگر دوباره باز میکند.
پیکربندی
| متغیر محیطی | پیشفرض | کاربرد |
|---|---|---|
VECTOR_CIRCUIT_THRESHOLD | 5 | تعداد خطاهای مورد نیاز برای فعالسازی قطعکننده. |
VECTOR_CIRCUIT_WINDOW | 60 | ثانیه پنجره کشویی برای شمارنده خطا. |
VECTOR_CIRCUIT_COOLDOWN | 60 | ثانیههایی که قطعکننده قبل از بررسی بعدی باز میماند. |
بکاند کش هر چیزی است که cache.default به آن حل میشود. در یک پشته تولید Redis، وضعیت قطعکننده در بین پردازشگرها به اشتراک گذاشته میشود، بنابراین یک قطعی برای کل خوشه یکباره فعال میشود به جای اینکه به ازای هر پردازشگر دوباره کشف شود.
ظاهر مدار باز
از laravel.log:
vector.circuit_open {"client":"vectorize","count":5,"cooldown":60,"error":"Cloudflare 502 Bad Gateway"}
ویجت به ارائه پاسخها ادامه میدهد، فقط بدون بازیابی. پس از بازیابی Vectorize، قطعکننده در بررسی موفق بعدی بهطور خودکار بسته میشود — نیازی به اقدام اپراتور نیست.
زمان تنظیم مقادیر
- آستانه را کاهش دهید اگر ترجیح میدهید بهجای هل دادن تلاشهای مجدد در طول یک نوسان، عملکرد را کاهش دهید. پیشفرض ۵ معقول است. برای سایتهای با ترافیک بسیار کم، ۳ را در نظر بگیرید.
- دوره استراحت را افزایش دهید اگر سرویسدهنده شما تمایل به رفتار نامناسب به مدت ۵ تا ۱۰ دقیقه دارد. پیشفرض ۶۰ ثانیه بهطور تهاجمی بررسی میکند. تنظیم روی ۳۰۰، ترافیک بررسی را در طول یک قطعی طولانی کاهش میدهد.
- پنجره را کوچک کنید اگر فقط میخواهید در یک قطعی واقعی فعال شود، نه در یک نوسان روزانه. پنجره کشویی پیشفرض ۶۰ ثانیه به این معنی است که نوسانات موقت بهسرعت از بین میروند.