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

بثّ الأحداث في الزمن الحقيقي — Kafka + Spring Cloud Stream

معالجة وظيفية لتدفّق الأحداث باستخدام Spring Cloud Stream وKafka Streams: مزوّد يُنتج أحداث صفحات، ودالة تحوّلها، وخط KStream يطبّق نوافذ منزلقة من 5 ثوانٍ لتحليلات لحظية لكل صفحة تُبَثّ إلى المتصفح عبر Server-Sent Events.

Kafka Streams
Streaming engine
5s sliding
Window size
SSE
Live transport
4
Functional beans
المنهجية

Beans وظيفية supplier/function/consumer + تجميع KStream نافذي يُبَثّ مباشرة عبر SSE

المكدس التقني
Java 17Spring Boot 3.3Spring Cloud StreamApache KafkaKafka StreamsDocker Compose
الكلمات المفتاحية
Apache KafkaKafka StreamsSpring Cloud StreamEvent-DrivenSSEDockerWindowing
التعمق

خط معالجة موجَّه بالأحداث مبنيّ حول نموذج البرمجة الوظيفية في Spring Cloud Stream، مع تجميعات Kafka Streams ذات الحالة.

خط المعالجة

pageEvent1Supplier ──► topic R2 ──► pageEvent1Consumer (سجلات)
                                └─► pageEvent1Function (تحويل)
       StreamBridge
GET /publish/{topic}/{name} ─────► topic
                                     │
KStream1Function: تصفية ──► نافذة 5ث ──► عدّ حسب الصفحة ──► topic R4
                                                                │
GET /analytics  ◄── Server-Sent Events ◄── استعلام تفاعلي (state store)

الـ Beans الوظيفية

Beanالنوعالوظيفة
pageEvent1SupplierSupplierيُصدر PageEvent1 إلى R2 باستمرار
pageEvent1ConsumerConsumerيستهلك ويعرض الأحداث
pageEvent1FunctionFunctionيحوّل الأحداث
KStream1FunctionKStreamتصفية، نافذة (5ث)، عدّ حسب الصفحة → R4

أبرز النقاط

  • تجميع نافذي ذو حالة مع استعلامات تفاعلية على مخزن الحالة
  • تحليلات لحظية تُدفَع إلى الواجهة عبر Server-Sent Events
  • وسطاء Kafka يُشغَّلون عبر Docker Compose لتطوير محلي بأمر واحد