يمكن أن تساعد الخدمات المصغرة المؤسسات على بناء تطبيقات أسهل في التوسع، النشر، الصيانة، والتطور. ومع ذلك، فإن البنى الموزعة تقدم أيضًا تحديات تتعلق بالتواصل، وتحمل الأعطال، وتناسق البيانات، وحدود الخدمة، ودمج الواجهة الأمامية. يقدم هذا المساق مقدمة منظمة لحل هذه التحديات من خلال أنماط تصميم الخدمات المصغرة المثبتة.
ستبدأ بمراجعة أسس بنية الخدمات المصغرة وفهم كيفية اختلاف الخدمات المصغرة عن التطبيقات الأحادية التقليدية. ثم يقدم المساق دور أنماط التصميم ويشرح كيف توفر حلولاً قابلة لإعادة الاستخدام لمشاكل النظام الموزع الشائعة.
ستستكشف نمط المجمع، وتعلم كيفية دمج الردود من خدمات متعددة في نتيجة موحدة. يوضح نمط بوابة API كيف يمكن لنقطة دخول مركزية إدارة التوجيه وتبسيط التواصل بين العملاء والخدمات الخلفية.
يغطي المساق نمط سلسلة المسؤولية لمعالجة الطلبات من خلال سلسلة من المعالجات المستقلة. كما ستدرس الرسائل غير المتزامنة، التي تدعم التواصل الفضفاض وتساعد الخدمات على العمل دون انتظار ردود فورية.
تقدم درسًا مخصصًا لنمط قاطع الدائرة، الذي يشرح كيف يمكن للتطبيقات اكتشاف أعطال الخدمة، ومنع الطلبات غير الناجحة المتكررة، وتقليل مخاطر الفشل المتتالي. تساعد مبادئ المرونة هذه التطبيقات الموزعة على البقاء متاحة عندما تواجه الخدمات الفردية مشاكل.
ثم ستدرس أنماط البيانات والهيكلية، بما في ذلك نمط قاعدة البيانات المشتركة، ونمط الفرع، ونمط التحلل. تشرح هذه الدروس كيفية فصل الخدمات، وكيف يمكن أن تتفرع سير العمل عبر المكونات، وكيف يمكن تقسيم التطبيقات الأكبر إلى قدرات تجارية يمكن التحكم فيها.
يغطي المساق أيضًا CQRS، الذي يفصل بين مسؤوليات الأوامر والاستعلامات، ومصدر الأحداث، الذي يسجل التغييرات كمتسلسلة من الأحداث. يمكن لهذه الأنماط دعم سير عمل قابلة للتطوير، وإمكانية التتبع، ونماذج بيانات أكثر مرونة.
أخيرًا، ستستكشف نمط الواجهة الخلفية للواجهة الأمامية، الذي يوفر خدمات خلفية مخصصة للواجهات المختلفة مثل تطبيقات الويب والجوال. ستساعد الإرشادات بشأن اختيار الأنماط المناسبة واستخدام أدوات تصور الكود على تقييم خيارات الهندسة المعمارية وفهم علاقات الخدمة.
من خلال إكمال المساق،
الفوائد: فهم مبادئ وخصائص الهندسة المعمارية للخدمات المصغرة.
تحديد وتطبيق 11 نمطًا شائعًا لتصميم الخدمات المصغرة.
تنفيذ أنماط المجمع وبوابة API للتواصل بين الخدمات.
استخدام سلسلة المسؤولية لتنظيم سير عمل معالجة الطلبات.
تطبيق الرسائل غير المتزامنة لإنشاء خدمات فضفاضة الاقتران.
تحسين مرونة النظام من خلال نمط قاطع الدائرة.
استخدام تقنيات التحلل والتفرع لتحديد حدود الخدمة.
تطبيق CQRS ومصدر الأحداث على سير عمل البيانات الموزعة.
تصميم خلفيات متخصصة باستخدام نمط الواجهة الخلفية للواجهة الأمامية.
اختيار الأنماط المناسبة بناءً على احتياجات القابلية للتطوير، والمرونة، والصيانة.