يُعَد Apache Kafka منصة مفتوحة المصدر للبثّ الموزع، يُتيح للمطورين بناء تطبيقات قائمة على الأحداث في الوقت الفعلي. باستخدام Apache Kafka، يمكن للمطورين بناء تطبيقات تستخدم سجلات البيانات المتدفقة بشكل مستمر وتقدِّم تجارب في الوقت الفعلي للمستخدمين.
سواء عند التحقق من رصيد الحساب، أو مشاهدة Netflix، أو تصفح LinkedIn، يتوقع المستخدمون اليوم تجارب تطبيقات في الوقت شبه الفعلي. تم تصميم بنية Apache Kafka القائمة على الأحداث لتخزين البيانات وبث الأحداث في الوقت الفعلي، ما يجعلها تعمل كوسيط رسائل ووحدة تخزين تُتيح تقديم تجارب مستخدم في الوقت الفعلي عبر أنواع مختلفة من التطبيقات.
يُعَد Apache Kafka أحد أكثر أنظمة معالجة البيانات مفتوحة المصدر شعبية، حيث يستخدمه ما يقرب من 50,000 شركة ويستحوذ على حصة سوقية تبلغ 26.7%.
يُعَد Kafka نظامًا موزعًا، وهذا يعني أنه عبارة عن مجموعة من البرامج المختلفة التي تتقاسم الموارد الحسابية عبر عُقد متعددة (أجهزة كمبيوتر) لتحقيق هدف واحد. تجعل هذه البنية نظام Kafka أكثر قدرة على تحمُّل الأخطاء من الأنظمة الأخرى لأنه يمكنه التعامل مع فقدان عقدة واحدة أو جهاز في النظام مع الاستمرار في العمل.
من بين الأنظمة الموزعة، تميّز Apache Kafka كأحد أفضل الأدوات لبناء هياكل الخدمات المصغرة، وهو نهج سحابي أصلي حيث يتكون التطبيق الواحد من العديد من العناصر أو الخدمات الصغيرة المترابطة. بالإضافة إلى البيئات السحابية الأصلية، يستخدم المطورون Apache Kafka أيضًا على Kubernetes، وهو منصة مفتوحة المصدر لتنسيق الحاويات، لتطوير التطبيقات باستخدام أطر عمل خالية من الخوادم.
بالنسبة إلى المطورين، جزء كبير من جاذبية Apache يكمن في بنيتها الفريدة. يستخدم Apache نظام رسائل يعتمد على النشر والاشتراك، وهو نظام يعتمد على ما يُعرَف بالاتصال غير المتزامن، ما يجعل من السهل على المطورين بناء تطبيقات متقدمة ومعقدة من الناحية البنائية. تتكون بنية Apache من ثلاث فئات: الأحداث والمنتجون والمستهلكون، وتعتمد بشكل كبير على واجهات برمجة التطبيقات (APIs) لتعمل.
يعمل Apache Kafka على أربعة مفاهيم أساسية: الأحداث والبث والمنتجون والمستهلكون. إليك نظرة سريعة على كيفية عمل كلٍّ من هذه النماذج معًا لمنح Apache Kafka قدراته الأساسية.
عندما يتفاعل المستخدم مع موقع ويب، مثل التسجيل للحصول على خدمة أو تقديم طلب، يُطلق على هذا التفاعل اسم "حدث". في بنية Apache، يُعَد الحدث أي رسالة تحتوي على معلومات تَصِف ما فعله المستخدم. على سبيل المثال، إذا سجَّل مستخدم على موقع ويب، فسيحتوي سجل الحدث على اسمه وعنوان بريده الإلكتروني.
ربما لا ميزة تميِّز Apache Kafka عن بقية هياكل تخزين البيانات أكثر من قدرته على بث الأحداث، وهي ميزة تُعرَف باسم "بث الأحداث" أو ببساطة "البث" (وبشكل محدد في حالة Apache Kafka، تُعرَف باسم عمليات بث Kafka). يُشير بث الأحداث إلى إرسال البيانات التي يولِّدها مئات أو حتى آلاف المنتجين في وقت واحد عبر منصة إلى المستهلكين.
في بنية Apache Kafka، يُعرَف "المنتِج" بأنه أي كيان قادر على إنشاء البيانات، مثل خادم ويب، أو تطبيق أو عنصر من عناصر التطبيق، أو جهاز من إنترنت الأشياء (IoT)، والعديد غيرها. "المستهلك" هو أي عنصر يحتاج إلى البيانات التي تم إنشاؤها بواسطة المنتِج كي يعمل. على سبيل المثال، في تطبيق إنترنت الأشياء (IoT)، قد تكون البيانات معلومات من أجهزة استشعار متصلة بالإنترنت، مثل مقياس حرارة أو جهاز استشعار في سيارة ذاتية القيادة يكتشف تغيُّر إشارة المرور.
تم تصميم بنية Kafka بحيث تستطيع التعامل مع التدفق المستمر من بيانات الأحداث التي يولِّدها المنتجون، والحفاظ على سجلات دقيقة لكل حدث، ونشر تيار مستمر من هذه السجلات إلى المستهلكين.
أتاحت قدرة Apache Kafka الأساسية على معالجة البيانات في الوقت الفعلي فرصًا واسعة لما يمكن أن تقدِّمه التطبيقات عبر مختلف القطاعات الصناعية. باستخدام Kafka، تستكشف المؤسسات طرقًا جديدة للاستفادة من بيانات البث لزيادة الإيرادات، ودفع عجلة التحول الرقمي، وتقديم تجارب مميزة لعملائها. وفيما يلي بعض الأمثلة الأكثر وضوحًا.
يعتمد إنترنت الأشياء (IoT)، وهو شبكة من الأجهزة المزوَّدة بأجهزة استشعار تُتيح لها جمع البيانات ومشاركتها عبر الإنترنت، بشكل كبير على بنية Apache Kafka. على سبيل المثال، تستخدم أجهزة الاستشعار المتصلة بطاحونة هوائية قدرات إنترنت الأشياء (IoT) لإرسال بيانات حول سرعة الرياح ودرجة الحرارة والرطوبة عبر الإنترنت. في هذه البنية، يُعَد كل جهاز استشعار منتِجًا، حيث يولِّد البيانات كل ثانية ويرسلها إلى خادم خلفي أو قاعدة بيانات، المستهلك، لمعالجتها.
تسهِّل هندسة Kafka عملية نقل واستقبال البيانات ذهابًا وإيابًا، بالإضافة إلى معالجتها في الوقت الفعلي، ما يسمح للعلماء والمهندسين بتتبُّع الظروف الجوية من على بُعد مئات أو آلاف الأميال. تضمن قدرات حفظ السجلات وقائمة الرسائل في Apache جودة ودقة البيانات التي يتم جمعها.
وبنفس الطريقة التي يمكِّن بها Apache جمع البيانات عبر أجهزة إنترنت الأشياء التي يمكن بثها إلى المستهلكين في الوقت الفعلي، فإنه يمكِّن أيضًا من جمع وتحليل المعلومات من سوق الأوراق المالية.
تم استخدام Apache للعديد من أعباء العمل الحيوية ذات الحجم الكبير في الأعمال، والتي تُعَد أساسية لتداول الأسهم ومراقبة الأسواق المالية. تستخدمه بعض أكبر البنوك والمؤسسات المالية في العالم، مثل PayPal وIng وJP Morgan Chase، في تحليل البيانات في الوقت الفعلي، وكشف الاحتيال المالي، وإدارة المخاطر في العمليات المصرفية، والامتثال التنظيمي، وتحليل الأسواق وغيرها.
يجب على متاجر البيع بالتجزئة عبر الإنترنت ومواقع التجارة الإلكترونية معالجة آلاف الطلبات يوميًا من تطبيقاتها أو مواقعها، ويؤدي Kafka دورًا محوريًا في تمكين ذلك لدى العديد من الشركات. يُعَد زمن الاستجابة وإدارة علاقات العملاء (CRM) عنصرين أساسيين لنجاح قطاع البيع بالتجزئة، لذلك من المهم معالجة الطلبات بسرعة ودقة.
يساعد Kafka على تبسيط التواصل بين العملاء والشركات، عبر الاستفادة من خط أنابيب البيانات لتسجيل الأحداث بدقة، والحفاظ على سجلات الطلبات والإلغاءات، وتنبيه جميع الأطراف المعنية في الوقت الفعلي. إلى جانب معالجة الطلبات، يوفر Kafka بيانات دقيقة يمكن تحليلها لتقييم أداء الأعمال واستخلاص رؤى قيّمة.
يعتمد قطاع الرعاية الصحية على Kafka لربط المستشفيات بالسجلات الصحية الإلكترونية الحيوية (EHR) ومعلومات المرضى السرّية. يسهِّل Kafka التواصل ثنائي الاتجاه الذي تعتمد عليه تطبيقات الرعاية الصحية، والتي تستند إلى بيانات يتم توليدها في الوقت الفعلي من مصادر متعددة. تمكِّن قدرات Kafka من مشاركة المعرفة في الوقت الفعلي؛ مثل توفُّر معلومة حساسية المريض تجاه دواء معيّن، وهي معلومة قد تُنقذ الأرواح.
إلى جانب مساعدته للأطباء في الحصول على بيانات فورية توجِّه طرق علاج المرضى، يُعَد Kafka أيضًا عنصرًا حيويًا للمجتمع البحثي الطبي. تساعد قدرات Kafka في تخزين البيانات وتحليلها الباحثين على استكشاف البيانات الطبية لاستخلاص رؤى حول الأمراض ورعاية المرضى، ما يؤدي إلى تسريع تحقيق الابتكارات الطبية.
تستخدم شركات الاتصالات Apache في مجموعة متنوعة من الخدمات. يتم استخدامه في الأساس لمعالجة تدفقات البيانات في الوقت الفعلي لمراقبة الشبكات التي تدعم ملايين الأجهزة اللاسلكية حول العالم. يعمل Apache على جمع بيانات حول عمليات الشبكة ويُرسلها في الوقت الفعلي إلى الخوادم التي تقوم بتحليلها باستمرار لاكتشاف أي مشكلات. تشمل السجلات التي يحتفظ بها Apache لشركات الاتصالات المكالمات، والرسائل النصية، وبيانات العملاء، والاستخدام، والمكالمات المقطوعة، وغيرها.
تعتمد أحدث منصات الألعاب اليوم على التواصل الفوري بين اللاعبين، سواء أكانوا على بُعد المئات أو الآلاف من الأميال عن بعضهم. إذا كان هناك أي تأخير في اللعبة التي يعتمد نجاح اللاعبين فيها على سرعة رد الفعل، فسيتأثر الأداء سلبًا. علاوةً على ذلك، يشهد قطاع الألعاب طفرة مؤخرًا، حيث ينمو بمعدل نمو سنوي مركَّب (CAGR) يبلغ 13.4%، مع زيادة التركيز على مؤشرات الأداء التشغيلية الرئيسية.
يدعم Apache التواصل والتفاعل فائق السرعة بين اللاعبين، ما يجعل أنظمة الألعاب الواقعية المتقدمة تحظى بشعبية كبيرة. تعتمد الألعاب الجديدة على قدرات Apache في البث الفوري للبيانات، بالإضافة إلى وظائفه في التحليل اللحظي وتخزين البيانات. علاوةً على ذلك، يساعد مسار البث في Apache اللاعبين على تتبُّع بعضهم في الوقت الفعلي من خلال ضمان نقل حركات اللاعبين إلى لاعبين آخرين على الفور.
يستخدم المطورون والمهندسون في بعض أكبر وأحدث المؤسسات العالمية Apache لبناء العديد من تطبيقات الأعمال في الوقت الفعلي. يُعَد Apache Kafka هو المحرك للتطبيقات التي تخدم القطاع المالي، وعمالقة التسوق الإلكتروني، ومنصات بث الموسيقى والفيديو، ومطوِّري ألعاب الفيديو، وغيرهم. يتميز التطوير باستخدام Kafka بالعديد من المزايا مقارنةً بالمنصات الأخرى، فيما يلي بعض أبرز فوائده.
يستخدم نظام معالجة البيانات في Kafka واجهات برمجة التطبيقات بطريقة فريدة تساعده على تحسين تكامل البيانات مع العديد من تصميمات تخزين قواعد البيانات الأخرى، مثل البنى الشائعة SQL وNoSQL المستخدمة في تحليلات البيانات الكبيرة.
تم بناء Kafka لمعالجة مشكلات زمن الانتقال الطويل في معالجة قوائم انتظار الدفعات على بعض أكثر المواقع ازدحامًا في العالم. ويتميز بالقدرة على التوسع المرن وتعدُّد المجموعات، ما يسمح بتوزيع سير العمل عبر عدة مجموعات Kafka بدلًا من مجموعة واحد فقط، ما يُتيح توسعًا أكبر وإنتاجية عالية وزمن انتقال قصيرًا.
تأتي Apache Connect، أداة بث البيانات، مزوَّدة بـ 120 موصِّلًا جاهزًا، تمكِّن Apache من التكامل مع أشهر حلول تخزين البيانات الخلفية، بما في ذلك Amazon S3 من AWS، وMongoDB، وGoogle BigQuery، وElasticSearch، وAzure، وDataDog، وغيرها. يمكن للمطورين الذين يستخدمون Apache تسريع تطوير التطبيقات بفضل دعمه لتلبية أي متطلبات تفرضها مؤسساتهم.
نظرًا لأن بعض أكبر وأكثر المواقع ازدحامًا في العالم تستخدم Apache، يجب أن يكون قادرًا على تسجيل نشاط المستخدم بسرعة ودقة لتجنُّب أي انقطاعات. يسجِّل Apache الأحداث المتكررة مثل تسجيل المستخدمين، وعدّ مرات عرض الصفحات، والشراء، وغيرها من المعلومات المتعلقة بتتبُّع نشاط الموقع في الوقت الفعلي. بعد ذلك، يعمل على تجميع البيانات حسب الموضوع وتخزينها عبر شبكة موزّعة لتسهيل الوصول إليها بسرعة وسهولة.
يستقبل Apache الرسائل ويحتفظ بها في قائمة انتظار، وهي حاوية يتم استخدامها لتخزين الرسائل ونقلها. تعمل الحاوية على ربط الرسائل بتطبيقات المستهلك والمستخدم. تم تصميم Apache بطريقة مشابهة لوسطاء الرسائل الآخرين، مثل RabbitMQ؛ ولكن على عكس Rabbit وهؤلاء الوسطاء الآخرين، فإنه يقسِّم رسائله إلى موضوعات Kafka باستخدام مفتاح رسالة يمكن استخدامه لتصفية الرسائل حسب الصلة.
من أهم مميزات Apache هي قدرته على التقاط بيانات الأحداث وتخزينها في الوقت الفعلي. يجب تشغيل مسارات البيانات الشائعة الأخرى في الوقت الفعلي في ما يُسمَّى بالدفعة المجدولة، وهي دفعة من البيانات لا يمكن معالجتها إلا في وقت مجدول مسبقًا. يُتيح تصميم Apache معالجة البيانات في الوقت الفعلي، ما يُتيح للتقنيات مثل إنترنت الأشياء والتحليلات وغيرها التي تعتمد على معالجة البيانات في الوقت الفعلي العمل.
تم تصميم Apache Kafka لتخزين البيانات وبث الأحداث في الوقت الفعلي، ما يوفر تجارب مستخدم ديناميكية عبر مجموعة متنوعة من التطبيقات. يساعد IBM® Event Streams الشركات على تحسين Kafka باستخدام منصة مفتوحة المصدر يمكن نشرها كخدمة مُدارة بالكامل على IBM® Cloud أو محليًا كجزء من Event Automation.
يُعَد IBM® Event Streams برنامجًا لبث الأحداث تم تطويره بالاعتماد على Apache Kafka مفتوح المصدر. وهو متوفر كخدمة مُدارة بالكامل على IBM® Cloud أو يمكن استخدامه كاستضافة ذاتية.
أطلِق العنان لإمكانات الأعمال مع حلول التكامل من IBM، والتي تربط التطبيقات والأنظمة للوصول إلى البيانات الحساسة بسرعة وأمان.
اكتشِف قدرات جديدة وعزِّز مرونة الأعمال من خلال خدمات IBM الاستشارية للسحابة.