كل المشاريع
واجهة خلفيةنشر

بنية الخدمات الدقيقة (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 بنطاقات مستوى الخدمة. حسابات خدمة للمصادقة بين الآلات. فحص الرموز عند البوابة — لا منطق مصادقة لكل خدمة.