ع Meet &Me - حل المايكروسيرفس المتنوع
Meet &Me هو مشروع متجر إلكتروني (eShop) تم بناؤه باستخدام بنية مايكروسيرفس قوية ومتنوعة، مصممة لتحقيق قابلية التوسع والمرونة. يعتمد المشروع على أحدث الأنماط وأفضل الممارسات في أنظمة التوزيع الحديثة.
أبرز ملامح المشروع:
هندسة المايكروسيرفس المتقدمة: يوظف المشروع أنماطًا متطورة مثل API Gateways وهندسة تعتمد على الأحداث (Event-Driven Architecture) لضمان التواصل الفعال والمرونة بين الخدمات.
بنية رسائل مركزية: يستخدم RabbitMQ و MassTransit لضمان اتصالات موثوقة تعتمد على الأحداث باستخدام بروتوكول AMQP، ويدعم أنماط Publish/Subscribe، Saga Pattern، و Outbox Pattern.
وحدات بناء مركزية: يتضمن تطبيقات لـ CQRS و MediatR، بالإضافة إلى معالجة مركزية للتسجيل (Logging)، التحقق (Validation)، ومعالجة الاستثناءات المخصصة (Custom Exception Handling).
تنوع في بنية الخدمات المصغرة:
Vertical Slice Architecture: مع Marten (قاعدة بيانات مستندات معاملات)، Carter، و Mapster. يستخدم PostgreSQL.
DDD & Clean Architecture: مع CQRS، MediatR، Entity Framework Core، Event Sourcing، و Rich Domain Model. يستخدم SQL Server.
N-Layer Architecture: مع gRPC، Entity Framework Core، و Minimal APIs. يستخدم SQLite.
Vertical Slice Architecture (مع تحسينات الأداء): مع Redis Distributed Cache، Scrutor، Cache-aside Pattern، و Decorator.
تطبيق ويب للعميل: مبني باستخدام Razor Pages و Refit-powered HttpClientFactory.
API Gateway مع YARP: يعمل كـ Reverse Proxy، ويدعم Gateway Routing Pattern، و BFF (Backend for Frontend)، و Rate Limiting لإدارة حركة المرور.
أفضل الممارسات المطبقة: يلتزم المشروع بمبادئ SOLID، استخدام Records لـ DTOs (للمناعة والأداء)، Global Usings، Dependency Injection، Auto Migrations لتحديثات قواعد البيانات السلسة، و Health Checks لمراقبة توفر الخدمة.
النشر والتنظيم: المشروع مجهز بالكونتينرات ومنظم باستخدام Docker و Docker-Compose لسهولة النشر والإدارة.
يمثل هذا المشروع تجربة تعليمية غنية تجمع بين أنماط متعددة للمايكروسيرفس، والرسائل المتقدمة، وأفضل الممارسات المعمارية الحديث