يهدف هذا المشروع إلى تطبيق بنية الميكروسيرفيس (Microservices Architecture) بشكل كامل، مع نشر النظام على Kubernetes واستخدام مكونات Spring Cloud مثل Eureka، API Gateway، وResilience4j، إضافةً إلى آليات التخزين المؤقت (Caching) لتحقيق الأداء العالي والمرونة.
️ نظرة عامة على المعمارية
يتكوّن النظام من مجموعة من الخدمات والبنى التحتية المتكاملة:
? الخدمات الأساسية
Registry Service (Eureka Server): إدارة واكتشاف الخدمات تلقائيًا.
API Gateway: نقطة دخول موحدة لجميع طلبات العملاء.
Patient Service: إدارة بيانات المرضى وسجلّهم الطبي.
Prescription Service: إدارة الوصفات الطبية.
Reimbursement Service: معالجة طلبات التعويضات الطبية.
️ مكوّنات البنية التحتية
MySQL: قاعدة بيانات رئيسية لتخزين بيانات المرضى.
H2 Database: قاعدة بيانات في الذاكرة لبقية الخدمات.
NGINX Ingress Controller: توجيه حركة المرور الخارجية إلى الخدمات الداخلية.
MetalLB: موازن تحميل للشبكات في بيئة Kubernetes.
الميزات التقنية
Service Discovery: اكتشاف وتسجيل الخدمات تلقائيًا عبر Eureka.
Circuit Breaker: توفير المرونة ومقاومة الأعطال باستخدام Resilience4j.
Caching: تسريع الأداء باستخدام Caffeine Cache.
Load Balancing: موازنة الحمل ديناميكيًا باستخدام Spring Cloud LoadBalancer.
Auto Scaling: توسيع الموارد تلقائيًا حسب استهلاك المعالج (HPA).
Persistent Storage: استخدام PersistentVolumes لحفظ البيانات.
Secrets Management: إدارة الإعدادات الحساسة باستخدام Kubernetes Secrets.
Ingress: توجيه المسارات الخارجية باستخدام NGINX Ingress.
? التقنيات المستخدمة
Spring Boot / Spring Cloud
Kubernetes / Docker / MetalLB / NGINX
MySQL / H2 Database / Caffeine Cache
Resilience4j / Eureka / API Gateway / HPA
الهدف
تم بناء هذا المشروع لعرض تصميم معماري متكامل قابل للتوسع (Scalable) ومرن أمام الأعطال (Fault-Tolerant)، يمثل بيئة مثالية لتطبيقات المؤسسات والخدمات الطبية الموزعة.