advanced
تصميم بنية الخدمات المصغرة
مطالبة بتصميم معماري متقدم لنظام موزع باستخدام الخدمات المصغرة مع التركيز على قابلية التوسع والمرونة.
📝 Prompt Inhoud
تصرف كمهندس حلول ومعماري برمجيات أول. مطلوب منك تصميم بنية خدمات مصغرة (Microservices Architecture) لتطبيق تجارة إلكترونية واسع النطاق يتوقع أن يخدم ملايين المستخدمين. يجب أن يغطي التصميم النقاط التالية: 1) تقسيم النظام إلى خدمات منفصلة (مثل خدمة المستخدمين، خدمة الطلبات، خدمة الدفع، خدمة المخزون). 2) اقتراح بروتوكولات الاتصال بين الخدمات (مثل REST أو gRPC) وآلية التزامن (غير متزامن باستخدام قوائم الرسائل أو متزامن). 3) استراتيجية إدارة البيانات وقواعد البيانات (SQL مقابل NoSQL) لكل خدمة مع الحفاظ على اتساق البيانات في النهاية (Eventual Consistency). 4) خوارزميات لاكتشاف الخدمات (Service Discovery) وموازنة الحمل (Load Balancing). 5) استراتيجية الأمان والتحكم في الوصول (مثل OAuth2 و JWT). اشرح تبريراتك لكل قرار معماري تتخذه.