إعداد حاوية Kafka المحلية لتطبيق Spring Boot

في بنية الخدمات الصغيرة المعتمدة على الأحداث اليوم، تُعتبر Apache Kafka الخيار الافتراضي لتطبيقات البث. ومع ذلك، فإن إعداد Kafka للتطوير المحلي بالتزامن مع تطبيق Spring Boot الخاص بك يمكن أن يكون معقدًا، خاصة عند تكوينه للعمل محليًا.

spring-kafka هو حزمة مافن التي تدعم تكامل Kafka مع تطبيق Spring Boot. للعمل مع spring-kafka، نحتاج إلى الاتصال بمثيل Kafka. عادةً، خلال مرحلة التطوير، سنقوم ببساطة بتشغيل مثيل Kafka محلي وبناء التطبيق عليه. ولكن مع Docker Desktop والحاويات، فإن الأمور أسهل بكثير في الإعداد من تشغيل مثيل Kafka محلي. توجه هذه المقالة بنا خلال الخطوات اللازمة لإعداد حاوية Kafka المحلية مع تطبيق Spring Boot.

المتطلبات الأساسية

  1. نحتاج إلى إعداد Docker Desktop. للقيام بذلك، يمكننا الرجوع إلى هذه المقالة.
  2. تطبيق Spring Boot مع حزمة spring-kafka مُعدة.

تشغيل حاوية Kafka

لتشغيل حاوية Kafka، سنستخدم أولاً ملف docker-compose التالي:

YAML

 

يحتوي ملف docker-compose هذا على التكوينات لسحب حاوية Kafka واحتياجاتها، حاوية Zookeeper. تدير Zookeeper عقد وسطاء Kafka في الكتلة؛ يمكننا العثور على مزيد من التفاصيل حول ذلك في هذه المقالة.  

لتسجيل الحاويات مع Docker Desktop، سنستخدم الأمر التالي:

PowerShell

 

سيقوم هذا بسحب الصور المطلوبة وإطلاق الحاويات، وبمجرد إطلاق الحاويات، يمكنك رؤية الحاويات في Docker Desktop كما هو موضح أدناه:

الآن بعد أن أصبحت حاوية Kafka جاهزة، يمكننا إنشاء المواضيع المطلوبة باستخدام وحدة التحكم في Docker Desktop باستخدام الأمر التالي: 

PowerShell

 

الآن بعد أن أصبحت الحاوية جاهزة وتم تنفيذ المتطلبات الأساسية اللازمة، يمكننا تشغيل تطبيق Spring Boot. بالنسبة لتطبيق Spring Boot، قم بتكوين عنوان bootstrap الخاص بـ Kafka كما هو موضح أدناه:

Properties files

 

عند تشغيل تطبيق Spring Boot، يجب أن نرى السجلات المتعلقة بالاتصال مع Kafka، اعتمادًا على نوع تطبيق Spring Boot، سواء كان منتجًا أو مستهلكًا.

باتباع الخطوات الموضحة في المقالة، قمنا بإعداد بيئة تطوير محلية باستخدام حاوية Kafka وتطبيق Spring Boot.

Source:
https://dzone.com/articles/setting-up-local-kafka-container-for-spring-boot-application