البنية المبنية على الأحداث: بناء أنظمة ذات اقتران ضعيف
February 22, 2026
•
1 دقيقة قراءة
•
4 مشاهدة
جدول المحتويات
البنية المبنية على الأحداث تفصل الخدمات بالتواصل عبر الأحداث بدلاً من الاستدعاءات المباشرة.
المفاهيم الأساسية
الحدث: حقيقة أن شيئًا حدث
المنتج: يصدر الأحداث
المستهلك: يتفاعل مع الأحداث
الوسيط: يوجه الأحداث (RabbitMQ, Kafka, SQS)
تطبيق أحداث Laravel
class OrderPlaced
{
public function __construct(
public readonly Order $order,
public readonly User $user,
) {}
}
class UpdateInventory implements ShouldQueue
{
public $tries = 3;
public $backoff = [10, 60, 300];
public function handle(OrderPlaced $event): void
{
foreach ($event->order->items as $item) {
Product::where('id', $item->product_id)
->decrement('stock', $item->quantity);
}
}
}
OrderPlaced::dispatch($order, $user);
نمط CQRS
جانب الكتابة: التحقق → تحديث قاعدة البيانات → إصدار الأحداث
جانب القراءة: قراءة من نماذج محسّنة غير مُطبّعة
الفوائد
- اقتران ضعيف — الخدمات لا تعرف عن بعضها
- قابلية التوسع — المستهلكون يتوسعون بشكل مستقل
- المرونة — المستهلكون الفاشلون يعيدون المحاولة
- سجل التدقيق — الأحداث توفر سجل نشاط طبيعي
مقالات ذات صلة
Docker للمطورين: من الصفر إلى التطبيقات المعبأة في حاويات
أتقن أساسيات Docker — الصور والحاويات والأحجام والشبكات — لتوفير بيئات متسقة في كل مرة.
Docker Compose: تنسيق التطبيقات متعددة الحاويات
عرّف وشغّل تطبيقات متعددة الحاويات باستخدام Docker Compose — قواعد البيانات والتخزين المؤقت وطوابير الانتظار بأمر واحد.
أساسيات Kubernetes: تنسيق الحاويات على نطاق واسع
افهم المفاهيم الأساسية لـ Kubernetes — Pods وDeployments وServices وIngress — لتشغيل أحمال العمل الإنتاجية.
التعليقات (0)
لا توجد تعليقات بعد. كن أول من يعلق!