بث الأحداث هو ممارسة التقاط البيانات الآنية من التطبيقات وقواعد البيانات وأجهزة إنترنت الأشياء (IOT) ونقلها إلى وجهات مختلفة للمعالجة الفورية والتخزين أو للتحليل الآني وإعداد التقارير التحليلية.
من الوظائف الرئيسية في معالجة تدفق الأحداث (ESP)، هو أن بث الأحداث يمكِّن البنى التحتية لتكنولوجيا المعلومات من التعامل مع تدفقات كبيرة ومستمرة من الأحداث من خلال معالجة البيانات عند وقوع الحدث أو التغيير.
يكون بث الأحداث في أغلب الأحيان مكملاً للمعالجة بالدفعات التي تعمل على مجموعات البيانات الكبيرة والثابتة (أو "البيانات أثناء التخزين"). ومع ذلك، بدلاً من معالجة البيانات على دفعات، يعالج بث الأحداث نقاط البيانات الفردية عند ظهورها. يسمح هذا النهج للبرامج داخل البنية بتفسير تدفقات البيانات ("البيانات أثناء النقل") والاستجابة لها آنيًا.
يمكن لخدمات بث الأحداث عالية الأداء تشغيل مجموعة من المهام البسيطة والمعقدة، بدءًا من إرسال الإشعارات عند تغير أسعار المخزون أو المنتجات وصولاً إلى إنشاء نماذج التعلم الآلي الآنية التي تكشف عن نشاط المستخدم المشبوه. حتى في حالة المعالجة بالدفعات، يمكن لبث الأحداث أن يضيف عمقًا للتحليلات من خلال ربط الأحداث بالطوابع الزمنية الخاصة بها. كما يساعد في تحديد الاتجاهات القديمة، ما يوفر رؤى قيمة على مر الزمن.
يتمحور بث الأحداث حول التدفق غير المحدود والمتسلسل والآني لسجلات البيانات التي تسمى "الأحداث"، وهي هياكل البيانات التأسيسية التي تسجل أي حدث في النظام أو البيئة. إنه مصطلح يشير في الأساس إلى كل نقطة بيانات في النظام. لذلك، فإن "التدفق" (الذي يُطلق عليه أيضًا تدفق البيانات أو البيانات المتدفقة) هو التسليم المستمر لتلك الأحداث.
يشتمل كل حدث عادةً على مفتاح يحدد الحدث أو الكيان الذي يتعلق به، إلى جانب قيمة تحتوي على البيانات الفعلية للحدث. كما يتضمن أيضًا طابعًا زمنيًا يشير إلى وقت حدوث الحدث أو وقت تسجيله، ويتضمن أحيانًا بيانات وصفية عن مصدر البيانات أو إصدار المخطط أو السمات الأخرى.
وبمساعدة محركات معالجة التدفق المتخصصة، يمكن أن تخضع الأحداث لعدة عمليات مختلفة داخل التدفق. تُجري "التجميعات" عمليات لحساب البيانات، مثل الوسائل والمجاميع والانحراف المعياري. يضيف "الاستيعاب" تدفق البيانات إلى قواعد البيانات. تستخدم معالجة التحليلات أنماطًا في تدفق البيانات للتنبؤ بالأحداث المستقبلية، وتجمع معالجة الإثراء نقاط البيانات مع مصادر البيانات الأخرى لتوفير سياق وإنشاء معنى.
وغالبًا ما تكون الأحداث مرتبطة بعمليات الأعمال التجارية أو عمليات تنقل المستخدم وعادةً ما تؤدي إلى إجراء أو عملية أو سلسلة أخرى من الأحداث. ومن أحد الأمثلة على ذلك الخدمة المصرفية عبر الإنترنت.
عندما ينقر المستخدم على "تحويل" لإرسال أموال من حساب مصرفي إلى آخر، تُسحب الأموال من حساب المرسل وتُضاف إلى الحساب المصرفي للمستلم. تُرسل إشعارات البريد الإلكتروني أو الرسائل النصية إلى أحد الطرفين (أو كليهما)، وإذا لزم الأمر، تُنشر بروتوكولات الأمان ومنع الاحتيال.
الأحداث هي العنصر الأساسي في بث الأحداث. ومع ذلك هناك مجموعة من العناصر الأخرى التي تمكّن خدمات البث من معالجة الأحداث بالسرعة والفعالية التي تقوم بها. تتضمن بعض العناصر المهمة الأخرى ما يلي:
الوسطاء، أو وسطاء الرسائل، هم الخوادم التي تشغل منصات بث الأحداث. يمكّن وسطاء الرسائل التطبيقات والأنظمة والخدمات من التواصل مع بعضها بعضًا وتبادل المعلومات. وينفذون هذه الوظيفة عن طريق تحويل الرسائل بين بروتوكولات المراسلة الرسمية. يتيح ذلك للخدمات المترابطة "التحدث" مع بعضها بشكل مباشر، حتى لو كانت مكتوبة بلغات مختلفة (مثل Java أو Python) أو إذا نُفِّذت على منصات مختلفة. ويسهل هذا من فصل العمليات والخدمات داخل الأنظمة.
يمكن للوسطاء التحقق من صحة الرسائل وتخزينها وتوجيهها وتسليمها إلى الوجهات المناسبة. يضمن الوسطاء في أنظمة بث الأحداث الموزعة تحقيق زمن انتقال قصير وتوافر عالٍ من خلال تكرار الأحداث عبر العديد من العقد. كما يمكن للوسطاء تشكيل مجموعات—وهي مجموعات من الوسطاء الذين يعملون معًا لتحقيق موازنة تحميل وقابلية توسع أسهل.
إن المواضيع عبارة عن تصنيفات أو أسماء موجزات تُنشر عليها الأحداث، ما يوفر طريقة لتنظيم الأحداث وتصفيتها داخل المنصة. وهي تعمل بوصفها "موضوعًا" للأحداث، ما يسمح للمستهلكين بالاشتراك في الموضوعات وتلقي الأحداث ذات الصلة فقط.
كما يمكن تقسيم الموضوعات إلى أقسام، ما يسمح لعدة مستهلكين بالقراءة في موضوع ما في وقت واحد دون الإخلال بترتيب كل قسم.
إن التعويضات مُعرِّف فريد لكل حدث داخل القسم، حيث تشير إلى موضع الحدث داخل التسلسل. يستخدم المستهلكون التعويضات لتنظيم الأحداث التي عالجوها. على سبيل المثال، إذا قطع المستهلك الاتصال بحدث ما ثم أعاد الاتصال لاحقًا، فيمكنه استئناف المعالجة من آخر تعويض معروف.
نظرًا لانتشار البيانات—والارتفاع الناتج عن حركة البيانات—يعد تدفق الأحداث عنصرًا أساسيًا في بنى البيانات الحديثة. ويعد ذا قيمة في البيئات التي تتطلب قدرات سريعة للغاية في صناعة القرار أو في المؤسسات التي تهدف إلى أتمتة مسؤوليات صناعة القرار.
إليك كيفية إدارة خدمات بث الأحداث لبيانات الأحداث:
بالإضافة إلى البث والمعالجة القياسية، تسهل منصات بث الأحداث—مثل Amazon Kinesis، وGoogle Pub/Sub، وAzure Event Hubs وIBM Event Automation—مجموعة من ممارسات بث الأحداث التي تعزز الفعالية. تستخدم IBM Event Automation، على وجه الخصوص، قوة معالجة منصة Apache Kafka مفتوحة المصدر؛ لتحسين سير العمل القائم على الأحداث.
تضمن دلالات التسليم مرة واحدة بالضبط أن يُعالج كل حدث في التدفق مرة واحدة فقط، وهي ميزة أساسية لمنع تكرار أحداث التدفق وضياعها. تشتمل معظم أنظمة بث الأحداث على آليات لتوفير دلالات لمرة واحدة فقط، بغض النظر عن أي إخفاقات أخرى في النظام.
عندما تعجز العناصر النهائية عن مواكبة معدل الأحداث الواردة، فإن الضغط الخلفي يمنع التدفقات من إرباك النظام. وباستخدام الضغط الخلفي -وهو آلية للتحكم في تدفق البيانات- يمكن للمستهلكين إرسال إشارات إلى المنتجين لكبح أو إيقاف إنتاج البيانات عندما يكونون مشغولين بمعالجة البيانات أو غير قادرين على مواكبة الأحداث الواردة.
تسمح هذه العملية للأنظمة بالتعامل بأمان مع أحمال التشغيل عن طريق تخزين الأحداث الواردة مؤقتًا أو إسقاطها—بدلاً من تعطيل النظام بأكمله—بحيث تظل معالجة الأحداث مستقرة مع تقلّب أحمال التشغيل.
غالبًا ما يعمل مستهلكو الأحداث كجزء من مجموعة مستهلكين لتسريع استهلاك الأحداث. يُخصَّص لكل مستهلك في مجموعة المستهلكين مجموعة فرعية من الأجزاء لمعالجتها، بالموازاة مع الاستهلاك لتحقيق كفاءة أكبر. وفي حال فشل أحد المستهلكين داخل المجموعة أو الحاجة إلى إضافته أو إزالته، يمكن للمنصة إعادة تعيين الأقسام ديناميكيًا للحفاظ على التوازن وتحمل الأخطاء.
يعني بث الأحداث عادةً معالجة البيانات بطريقة تراعي عامل الوقت. تتيح العلامة المائية تتبع التقدم المحرز (باستخدام وقت الحدث) في أنظمة معالجة الدفق؛ حيث تفرض حدًا أقصى للاكتمال يشير إلى الوقت الذي يمكن فيه أن يعتبر النظام بيانات الحدث مُعالجة بالكامل. كما يمكن الاستفادة من العلامات المائية لضمان الدقة في المعالجة المستندة إلى الوقت وللتوفيق بين الأحداث الخارجة عن الترتيب.
تقدم معظم منصات بث الأحداث سياسات احتفاظ بالبيانات قابلة للتخصيص تتيح للمطورين التحكم في مدة إتاحة الأحداث للاستهلاك. ومع ذلك، فإن ضغط البيانات هو عملية تزيل البيانات المتكررة أو القديمة من المواضيع، ما يبقي بصمة التخزين في الحد الأدنى مع الحفاظ على البيانات الأساسية.
ومن الجدير بالذكر مرة أخرى أن بنى التدفق القياسية تفصل عادةً بين منتجي الأحداث ووسطاء الأحداث والمستهلكين، حتى يتسنى توسيع نطاق العناصر وصيانتها بشكل مستقل.
يعد بث الأحداث مفهومًا قويًا يسمح للمؤسسات باستخدام البيانات عند إنشائها، ما يؤدي إلى إنشاء أنظمة أكثر استجابة وذكاءً. مع ظهور اتخاذ القرارات القائمة على البيانات، أصبح بث الأحداث عنصرًا متزايد الأهمية في بنى البرمجيات الحديثة.
وعلى هذا النحو، فإن تقنيات بث الأحداث تحتوي على مجموعة من حالات الاستخدام في مختلف قطاعات الأعمال، بما في ذلك:
يمكن للمؤسسات المالية استخدام خدمات بث الأحداث لمعالجة بيانات السوق في الوقت الفعلي، ما يمكّن أنظمة التداول الخوارزمية من اتخاذ قرارات في جزء من الثانية بناءً على ظروف السوق المُحدثة في كل دقيقة. كما تساعد قدرات المراقبة في الوقت الفعلي التي يوفرها بث الأحداث المؤسسات على تحديد مخاطر الاحتيال والمخاطر الأمنية بسرعة ومواجهتها.
يمكن أن يسهل بث الأحداث تحسين سلسلة التوريد عن طريق السماح لشركات التصنيع بتتبع المواد والمنتجات أثناء مرورها عبر سلسلة التوريد؛ لتحديد العوائق وأوجه القصور في العمليات. وعلاوة على ذلك، فمن خلال تدفق البيانات من إنترنت الأشياء (IOT)/ مستشعرات إنترنت الأشياء الصناعية (IIoT)، يمكن للمديرين التنبؤ بموعد تعطل المعدات وسببه وإجراء الصيانة الوقائية أو الصيانة التنبؤية لتجنب فترات التعطل غير المخطط لها.
يمكن أن تستخدم منصات الألعاب عبر الإنترنت خدمات بث الأحداث لتتبع تصرفات اللاعبين وتغييرات حالة اللعبة، ويمكن استخدامها لتشغيل تحليلات اللعبة، وفرض سياسات مكافحة الغش، وزيادة مشاركة اللاعبين. يمكن لمنصات البث الاستفادة من بيانات الأحداث لتقديم توصيات محتوى مخصصة للمستخدمين وإنشاء تجربة مصممة خصوصًا للعملاء.
يمكن استخدام بث الأحداث لتتبع موقع المركبة وحالتها، ما يتيح إمكانية التوجيه الآني بناءً على حالات حركة المرور، وجداول التسليم، وأداء المركبة. يمكن لشركات الخدمات اللوجستية استخدام بيانات الأحداث من أجهزة المسح وتتبع نظام تحديد المواقع العالمي (GPS)؛ لتزويد العملاء بتحديثات آنية عن حالة شحنات التجارة الإلكترونية الخاصة بهم.
إلى جانب الصناعات المحددة، يمكن لبثّ الأحداث أن يكون مفيدًا أيضًا عندما ينشر بالتنسيق مع التقنيات والبنى الأخرى. على سبيل المثال، يرتبط بث الأحداث في بعض الأحيان بأنماط مثل توفير مصادر الأحداث وفصل مسؤوليات الأوامر والاستعلام (CQRS).
إن توفير مصادر الأحداث هو نمط بُنيوي تُخزن فيه التغييرات التي تطرأ على حالة التطبيق كسلسلة من الأحداث. عند استخدامه إلى جانب تدفقات الأحداث، يتيح توفير مصادر الأحداث لنظام التدفق إعادة تشغيل هذه الأحداث لإعادة بناء حالة الكيان في أي وقت أو لتشغيل عناصر أخرى من النظام.
في النمط البُنيوي CQRS، ينقسم النظام إلى نموذجين مختلفين: أحدهما يتعامل مع الأوامر (الكتابة) والآخر يتعامل مع الاستعلامات (القراءة). يمكن استخدام بث الأحداث في CQRS لنشر التغييرات من نموذج الكتابة إلى نموذج القراءة في الوقت الفعلي، ما يتيح التكامل غير المتزامن بين الاثنين.
يعد بث الأحداث أيضًا تقنية تأسيسية لبناء البنى القائمة على الأحداث.
تمكن البنية الموجهة بالأحداث العناصر ضعيفة الارتباط من التواصل عبر الأحداث. وبدلاً من نشر تدفقات الأحداث إلى وسيط، فإنها تنشر حدثًا له غرض واحد يمكن لتطبيق أو خدمة أخرى استخدامه لتنفيذ الإجراءات بدورها. يمكن لقوة المعالجة ضمن مسار البيانات التي توفرها البنى الموجهة بالأحداث—المستخدمة مع إمكانيات بث الأحداث—أن تمكّن الشركات من الاستجابة للبيانات أثناء النقل واتخاذ قرارات سريعة بناءً على جميع البيانات الحالية والسابقة.
في السنوات الأخيرة، بدأ مزودو السحابة (بما في ذلك IBM Cloud) تقديم مبادئ بث الأحداث كخدمات. يسهّل بث الأحداث كخدمة على الشركات اعتماد بث الأحداث دون إدارة البنية التحتية الأساسية بالكامل، ما يزيد من توسيع حالات استخدام بث الأحداث.
IBM Event Automation هو حل قابل للتكوين للمساعدة في تسريع جهود الشركات القائمة على الأحداث من خلال قدرات توزيع الأحداث واكتشافها ومعالجتها.
انتقل إلى ما يتجاوز عمليات أتمتة المهام البسيطة لمعالجة العمليات عالية المستوى الموجهة للعملاء وتدرّ الإيرادات من خلال التبني المدمج وتوسيع النطاق.
اكتشِف كيف يمكن لاستخدام الذكاء الاصطناعي في عمليات تقنية المعلومات منحك ما تحتاج إليه من معارف لدفع عجلة أداء أعمالك لمستويات استثنائية من التميز.