با بار بالا و بسیاری از یکپارچگی ها، مهم است که تمام فرایندها پایدار و بدون از دست دادن کار کنند. ما یک معماری را با استفاده از صف ها و سیستم های پردازش پس زمینه پیاده سازی می کنیم که API ها را بارگیری می کند، وظایف را ردیابی می کند، قله های بار را حذف می کند و ادغام با سیستم های خارجی را تسریع می کند.
این مدل به ویژه برای هماهنگ سازی جمعی، کار با رویدادهای webhook، معاملات مالی و تعامل با خدمات خارجی آهسته موثر است.
چه چیزی اجرا می شود
| کامپوننت | هدف و قابلیت ها |
|---|---|
| صف های پیام | RabbitMQ, جریان Redis, کافکا - انتقال داده ناهمزمان |
| وظایف پس زمینه | پردازش داده ها در گردش کار (به عنوان مثال،. از طریق لاراول صف) |
| درخواست های بافر | جمع آوری و تعویق ارسال رویدادها به API های خارجی |
| مکانیسم های تلاش مجدد | تلاش مجدد در شکست، نظارت بر تاخیر و تلاش |
| نظارت بر صف | پیگیری وضعیت, تاخیر, شکست, و آمار اجرای |
چگونه کار می کند
1. یک درخواست ورودی به یک صف یا وظیفه نوشته می شود
2. پردازش در پس زمینه انجام می شود - بدون تاخیر جریان اصلی
3. پاسخ (یا webhook) پس از اجرای موفقیت آمیز ارسال می شود
4. در صورت عدم موفقیت، وظیفه تکرار، ثبت و نظارت می شود
5. تمام فرآیندها در پانل یا از طریق API ردیابی می شوند
مزایای استفاده از
عملکرد بالا حتی در حجم بالا
مقاومت در برابر خرابی خدمات خارجی
بدون از دست دادن داده ها زمانی که API به طور موقت در دسترس نیست
قابلیت مقیاس بار در سراسر صف
کنترل زمان بندی، منطق پردازش معوق و بازپرداخت
جایی که بسیار مهم است
پلتفرم های مالی و معاملاتی
پروژه ها با ادغام سیستم های خارجی از طریق webhook یا API
تجزیه و تحلیل، loggers، جمع آوری خوراک و جمع آوری محتوا
معماری با میکروسرویس یا منطق رویداد محور
صف ها و پردازش پس زمینه یک ستون قابل اعتماد برای ادغام API مقیاس پذیر است. ما در حال ایجاد یک زیرساخت هستیم که در آن هر درخواست به دست خواهد آمد، هر فرآیند تکمیل خواهد شد و سیستم تحت هر بار پایدار باقی خواهد ماند.