بناء نظام حجز رحلات باستخدام Microservices Architecture

تفاصيل العمل

نظام حجز رحلات مبني على Microservices Architecture باستخدام Spring Boot وJava 17، مصمم بهدف فصل مكونات النظام إلى خدمات مستقلة يمكن تطويرها وتشغيلها والتواصل بينها بشكل منفصل.

مكونات النظام:

يتكون من 5 خدمات متخصصة (رحلات، حجوزات، عملاء، مدفوعات، إشعارات) مع قاعدة بيانات MySQL مستقلة لكل خدمة، موحّدة عبر Spring Cloud Gateway كنقطة دخول موحدة، وNetflix Eureka للـ Service Discovery.

أنماط التواصل:

REST للتواصل الخارجي عبر الـ API Gateway

gRPC للتواصل المتزامن بين Booking وFlight Service في عمليات الحجز

RabbitMQ للتواصل غير المتزامن ونشر الأحداث بين الخدمات

GraphQL في Flight Service للاستعلام المرن عن البيانات

إدارة العمليات الموزعة:

تطبيق Saga Choreography لإدارة عملية الحجز كـ Distributed Transaction، مع Compensating Transactions للتعامل مع سيناريوهات الفشل وإعادة المقعد المتاح عند إلغاء الحجز.

البنية التحتية:

تشغيل الخدمات بـ Docker وDocker Compose، مع CI/CD pipeline عبر GitHub Actions لبناء الخدمات وإنشاء Docker Images ورفعها تلقائياً إلى Docker Hub.

التقنيات: Java 17 · Spring Boot 3.2.5 · Spring Cloud Gateway · Netflix Eureka · gRPC · RabbitMQ · GraphQL · MySQL · Docker · GitHub Actions

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
تاريخ الإضافة
تاريخ الإنجاز
المهارات