كل المشاريع
واجهة خلفية
منصة المؤتمرات — خدمات مصغّرة Spring Cloud
نظام خدمات مصغّرة Spring Cloud كامل للمؤتمرات والكلمات الرئيسية: Config Server، اكتشاف Eureka، بوابة API، خادما موارد JWT مؤمَّنان بـ Keycloak (OAuth2/OIDC)، استدعاءات بين الخدمات عبر OpenFeign مع تمرير الرمز، وعميل Angular.
5
Microservices
Eureka
Discovery
Keycloak JWT
Auth
Angular
Frontend
المنهجية
نمط Config Server + Eureka + Gateway، كل خدمة خادم موارد JWT، Feign مع تمرير الرمز
المكدس التقني
Java 17Spring Boot 3.4Spring Cloud 2024EurekaSpring Cloud GatewayConfig ServerKeycloakOpenFeignAngularH2
الكلمات المفتاحية
Spring CloudEurekaAPI GatewayKeycloakOAuth2OpenFeignAngularMicroservices
التعمق
نظام موزّع كامل (حلّ امتحان تجريبي SDIA) يدير المؤتمرات والكلمات الرئيسية بكامل حزمة Spring Cloud: إعداد مركزي، اكتشاف الخدمات، توجيه عبر البوابة وأمان OAuth2 من طرف إلى طرف.
البنية
┌──────────────┐
│ Keycloak │ realm: exam-realm
│ (OAuth2/OIDC)│
└──────┬───────┘
│ JWT
┌───────────────┐ ▼
│ واجهة Angular │ ──► Gateway :8888 ──► Eureka :8761 (الاكتشاف)
└───────────────┘ │ ▲
├──► keynote-service :8081
└──► conference-service :8082 ──(OpenFeign)──┐
│
Config Server :8088 ◄── كل الخدمات │
keynote-service ◄───────────────────────────────────┘
الخدمات
| الخدمة | المنفذ | الدور |
|---|---|---|
| config-service | 8088 | خادم إعداد Spring Cloud (مدعوم بـ Git) |
| discovery-service | 8761 | سجل خدمات Eureka |
| gateway-service | 8888 | بوابة API + CORS |
| keynote-service | 8081 | خادم موارد الكلمات (H2) |
| conference-service | 8082 | خادم موارد المؤتمرات (H2)، يستدعي الكلمات عبر Feign |
الأمان والمرونة
- ◂كل خدمة مصغّرة هي خادم موارد JWT؛
JwtAuthConverterيربط أدوار Keycloak ← صلاحيات Spring - ◂
FeignInterceptorيمرّر رمز Bearer عبر الاستدعاءات بين الخدمات - ◂مسار Git للإعداد مُدار بمتغيّر بيئة ← قابل للنقل بين الأجهزة
- ◂الخدمات الخمس تُترجم وتنجح في الاختبارات دون تشغيل Keycloak