🏗️ مرجع أنماط المايكروسيرفيس بالعربي
كل نمط معماري بالعربي: المشكلة التي يحلّها، صياغته، مثال يوضّحه، وأشهر الأخطاء — أنماط معمارية لا لغة برمجة، فلا يوجد تشغيل حي في المتصفح. حاليًا 12 نمط — والقائمة تكبر.
أنماط التواصل والتوجيه
API Gateway
بوابة API
API Gateway نقطة دخول واحدة لكل طلبات العملاء، توجّهها للخدمات المناسبة وتدير الأمان والتحديد وتجميع الاستجابات.
Backends for Frontends
نمط BFF — واجهة خلفية مخصصة لكل عميل
BFF بوابة API منفصلة لكل نوع عميل (جوال، ويب، شركاء) بدل بوابة عامة واحدة تحاول إرضاء الجميع.
gRPC
gRPC — تواصل عالي الأداء بين الخدمات
إطار RPC مبني على HTTP/2 وProtocol Buffers، بديل أسرع وأخف من REST/JSON للتواصل الداخلي بين الخدمات.
Service Discovery
اكتشاف الخدمات
آلية تتيح لخدمة إيجاد عنوان خدمة أخرى تلقائياً في بيئة تتغير فيها العناوين باستمرار.
أنماط المرونة وتحمل الأعطال
أنماط إدارة البيانات الموزعة
Saga
نمط Saga — المعاملات الموزعة
يدير معاملة تمتد عبر عدة خدمات كسلسلة خطوات محلية، مع خطوات تعويض (Compensation) تُلغي ما تم لو فشلت إحدى الخطوات.
CQRS
CQRS — فصل القراءة عن الكتابة
يفصل نموذج البيانات المستخدم للكتابة (Commands) عن نموذج القراءة (Queries)، فيمكن تحسين كل جانب بشكل مستقل.
Event Sourcing
Event Sourcing — تخزين الأحداث بدل الحالة
بدل تخزين الحالة الحالية فقط، يُخزَّن كل تغيير كحدث مستقل، والحالة الحالية تُشتق بإعادة تشغيل كل الأحداث بالترتيب.
Transactional Outbox
نمط Outbox — التسليم الموثوق للأحداث
يضمن نشر حدث بعد تحديث قاعدة البيانات دون فقدانه، عبر تخزين الحدث في جدول ضمن نفس المعاملة المحلية بدل نشره مباشرة على Broker خارجي.
أنماط البنية التحتية والترحيل
Service Mesh
Service Mesh — إدارة التواصل بين الخدمات
طبقة بنية تحتية تنقل منطق الشبكة (توجيه، أمان، مراقبة) خارج كود كل خدمة عبر Proxy يعمل بجانبها (Sidecar)، دون تعديل الكود.
Strangler Fig
نمط Strangler Fig — الترحيل التدريجي
يهاجر من Monolith إلى مايكروسيرفيس تدريجياً عبر واجهة (Façade) توجّه كل طلب إما للنظام القديم أو لخدمة جديدة، بدل إعادة كتابة كاملة دفعة واحدة.
🎓 تريد التعلم بالترتيب بدل المرجع السريع؟ ابدأ من مسار MICROSERVICES الكامل بالعربي.