كل المشاريع
واجهة خلفيةنشر
بنية الخدمات الدقيقة (Spring Boot)
خدمات دقيقة إنتاجية: Spring Boot، دفق أحداث Apache Kafka، مصادقة OAuth2/Keycloak، استدعاءات gRPC بين الخدمات، بوابة API، Docker. تصميم قائم على الأحداث مع عزل PostgreSQL لكل خدمة.
المنهجية
Kafka قائم على الأحداث + OAuth2 Keycloak + استدعاءات gRPC متزامنة + Spring Cloud Gateway
المكدس التقني
JavaSpring BootApache KafkaKeycloakgRPCDockerPostgreSQL
الكلمات المفتاحية
Spring BootKafkaKeycloakgRPCDockerJavaMicroservices
التعمق
نظام خدمات دقيقة إنتاجي مع بنية قائمة على الأحداث.
طوبولوجيا الخدمات
العميل → Spring Cloud Gateway (بوابة API)
→ Keycloak (مصادقة OAuth2/OIDC)
→ الخدمة A ←→ Kafka ←→ الخدمة B
→ الخدمة C --gRPC--> الخدمة D
→ PostgreSQL (عزل قاعدة بيانات لكل خدمة)
القرارات الرئيسية
| المشكلة | الحل | المبرر |
|---|---|---|
| تواصل غير متزامن | Apache Kafka | فصل + متانة + إعادة التشغيل |
| استدعاءات متزامنة داخلية | gRPC | عقود مكتوبة + 5-10× أسرع من REST |
| المصادقة | Keycloak OAuth2 | مركزي، معيار الصناعة |
| توجيه الخدمات | Spring Cloud Gateway | سلاسل فلاتر + كسر الدائرة |
أحداث Kafka OrderCreated، PaymentProcessed، InventoryUpdated — احتفاظ 7 أيام يُتيح إعادة تشغيل الخدمات بعد الأعطال.
gRPC مقابل REST
- ◂داخلي (خدمة→خدمة): gRPC (ثنائي، مكتوب، سريع)
- ◂خارجي (متصفح→بوابة): REST/JSON (توافق، قابلية التصحيح)
Keycloak OAuth2 رموز JWT بنطاقات مستوى الخدمة. حسابات خدمة للمصادقة بين الآلات. فحص الرموز عند البوابة — لا منطق مصادقة لكل خدمة.