يوفر تدفق Oracle Cloud Infrastructure (OCI) حلًا للمراسلة مدارًا بالكامل وقابلًا للتوسع ودائمًا لاستيعاب تدفقات البيانات المستمرة بكميات كبيرة والتي يمكنك استهلاكها ومعالجتها في الوقت الفعلي. يتوفر التدفق في جميع مناطق Oracle Cloud Infrastructure المدعومة. للحصول على قائمة، تفضل بزيارة صفحة المناطق ونطاقات الإتاحة.
يعد التدفق خدمة دون خادم تلغي تحميل إدارة البنية التحتية بدءًا من الشبكات إلى التخزين والتكوين المطلوب لتدفق بياناتك. لا داعي للقلق بشأن توفير البنية التحتية أو الصيانة المستمرة أو تصحيح الأمان. تنسخ خدمة التدفق البيانات بشكل متزامن عبر ثلاثة نطاقات إتاحة، مما يوفر درجة عالية من التوفر ومتانة للبيانات. في المناطق التي تحتوي على نطاق إتاحة واحد، يتم استنساخ البيانات عبر ثلاثة نطاقات أعطال.
يسهل التدفق جمع البيانات وتخزينها ومعالجتها التي يتم إنشاؤها في الوقت الفعلي من مئات المصادر. يكاد يكون عدد حالات الاستخدام غير محدود، بدءًا من المراسلة إلى معالجة تدفقات البيانات المعقدة. فيما يلي بعض الاستخدامات العديدة الممكنة للتدفق:
يمكنك بدء استخدام التدفق كما يلي:
بدلًا من ذلك، يمكنك أيضًا استخدام واجهات برمجة تطبيقات Kafka للإنتاج والاستهلاك من تدفق. لمزيد من المعلومات، يمكنك الرجوع إلى استخدام التدفق باستخدام Apache Kafka.
تم تصميم إنتاجية التدفق للتوسع دون حدود من خلال إضافة مقاطع إلى تدفق. مع ذلك، توجد حدود معينة يجب وضعها في الاعتبار أثناء استخدام البث:
يوفر التدفق دلالات تستند إلى التدفق. توفر دلالات التدفق ضمانات صارمة للترتيب لكل قسم، وقابلية إعادة تشغيل الرسالة، ومؤشرات من جانب العميل، وحجم أفقي ضخم من الإنتاجية. لا توفر قوائم الانتظار هذه المزايا. يمكن تصميم قوائم الانتظار لتوفير ضمانات ترتيب في حالة استخدام قوائم انتظار الوارد أولًا يُصرف أولًا، لكن بتكلفة إضافة نفقات إضافية كبيرة في الأداء فحسب.
يمثل التدفق سجل رسائل مقسم وملحق فحسب، لتطبيقات المنتجين التي تكتب البيانات بها وتطبيقات المستهلكين التي تقرأ البيانات منها.
يعد مجمع التدفق تجميع يمكنك استخدامه لتنظيم التدفقات وإدارتها. توفر مجموعات التدفق سهولة تشغيلية من خلال توفير إمكانية مشاركة إعدادات التكوين عبر تدفقات متعددة. على سبيل المثال، يمكن للمستخدمين مشاركة إعدادات الأمان مثل مفاتيح التشفير المخصصة في مجمع التدفق لتشفير بيانات جميع التدفقات الموجودة داخل المجمع. يتيح لك مجمع التدفق أيضًا إنشاء نقطة انتهاء خاصة للتدفقات عن طريق تقييد الوصول إلى الإنترنت لجميع التدفقات داخل مجمع التدفق. بالنسبة للعملاء الذين يستخدمون ميزة توافق Kafka للتدفق، يخدم مجمع التدفق كجذر مجموعة Kafka الظاهرية، مما يتيح تحديد نطاق كل إجراء على تلك المجموعة الظاهرية إلى مجمع التدفق هذا.
يمثل القسم وحدة إنتاجية رئيسة تتيح التوسيع الأفقي والتوازن بين الإنتاج والاستهلاك من التدفق. يوفر القسم سعة 1 ميجابايت/ثانية لإدخال البيانات و2 ميجابايت/ثانية لإخراج البيانات. عند إنشاء تدفق، تحدد عدد الأقسام التي تحتاجها على أساس متطلبات الإنتاجية للتطبيق. على سبيل المثال، يمكنك تكوين تدفق يحتوي على 10 أقسام، وفي هذه الحالة يمكنك تحقيق إنتاجية تبلغ 10 ميجابايت/ثانية من المدخلات و20 ميجابايت/ثانية من المخرجات من تدفق واحد. إذا كنت بحاجة إلى أقسام أعلى من حدود الخدمة الحالية، تتوقع Streaming الحد الأدنى للاستخدام البالغ 10 جيجابايت في الساعة (طلبات PUT وGET) لكل 50 جزءًا مستخدمًا. سيتم فرض رسوم على الحد الأدنى للاستخدام المتوقع حتى إذا كان الاستخدام الفعلي أقل من هذا المعدل.
تعد الرسالة وحدة بيانات base64 تم ترميزها مخزنة في تدفق. يبلغ الحد الأقصى لحجم الرسالة التي يمكنك إنتاجها لقسم في تدفق 1 ميجابايت.
يمثل المفتاح معرف يتم استخدامه لتجميع الرسائل ذات الصلة. تتم كتابة الرسائل التي لها نفس المفتاح إلى نفس القسم. يضمن التدفق أن أي مستهلك لقسم معين سيقرأ دائمًا رسائل هذا القسم بنفس الترتيب الذي كُتبت به.
يعد المنتِج تطبيق عميل يمكنه كتابة رسائل في تدفق.
يعد المستهلِك تطبيق عميل يمكنه قراءة الرسائل من تدفق واحد أو أكثر. تمثل مجموعة المستهلكين مجموعة من المثيلات التي تنسق الرسائل من جميع الأقسام في التدفق. في أي وقت محدد، لا يمكن استهلاك الرسائل الواردة من قسم محدد إلا بواسطة مستهلِك واحد في المجموعة.
يمثل المؤشر مؤشر لموقع في تدفق. قد يكون هذا الموقع مؤشرًا لإزاحة أو وقت محدد في قسم، أو إلى الموقع الحالي لمجموعة.
لدى كل رسالة ضمن قسم معرف يسمى الإزاحة. يمكن للعملاء قراءة الرسائل بدءًا من إزاحة محددة والسماح لهم بالقراءة من أي نقطة إزاحة يختارونها. يمكن للعملاء أيضًا تثبيت أحدث إزاحة تمت معالجتها حتى يتمكنوا من استئناف عملهم دون إعادة تشغيل أو فقد رسالة إذا توقفوا ثم أعادو التشغيل.
يوفر التدفق تشفير البيانات افتراضيًا، عند السكون وأثناء النقل على حد سواء. يتم دمج التدفق بالكامل مع Oracle Cloud Infrastructure Identity and Access Management (IAM)، مما يتيح لك استخدام سياسات الوصول لمنح الأذونات بشكل انتقائي للمستخدمين ومجموعات المستخدمين. أثناء استخدام واجهات برمجة تطبيقات REST، يمكنك أيضًا "وضع" البيانات و"الحصول عليها" بشكل آمن من التدفق عبر نقاط انتهاء SSL باستخدام بروتوكول HTTPS. علاوة على ذلك، يوفر التدفق عزلًا كاملًا على مستوى المستأجر للبيانات من دون أي مشكلات من "الجار المزعج".
يتم تشفير تدفق البيانات في أثناء وجودها على القرص وفي أثناء نقلها على حد سواء، بالإضافة إلى ضمان سلامة الرسائل. يمكنك السماح لـ Oracle بإدارة التشفير، أو استخدام Oracle Cloud Infrastructure Vault لتخزين مفاتيح التشفير الخاصة بك وإدارتها بشكل آمن إذا كنت تريد استيفاء معايير الأمان أو الامتثال المحددة.
يمكنك تحرير إعدادات تشفير البيانات الخاصة بمجمع التدفق في أي وقت إذا كنت ترغب في التبديل بين استخدام "التشفير المقدم بواسطة مفاتيح Oracle" و"التشفير المدار باستخدام المفاتيح التي يديرها العميل". لا يفرض التدفق أي قيود على عدد مرات تنفيذ هذا النشاط.
يتكامل التدفق بالكامل مع Oracle Cloud Infrastructure IAM. لكل تدفق حاوية موارد سحابية معينة. يمكن للمستخدمين تحديد أنظمة التحكم في الوصول المستندة إلى الأدوار والتي يمكن استخدامها لوصف القواعد بالغ الدقة على مستوى الإيجار أو حاوية موارد سحابية أو التدفق الفردي.
يتم تحديد نظام الوصول في شكل "Allow <subject> to <verb> <resource-type> in <location> where <conditions>".
يستخدم التصديق باستخدام بروتوكول Kafka رموز التصديق وآلية SASL/PLAIN. يمكنك تكوين رموز مميزة في صفحة تفاصيل مستخدم وحدة التحكم. راجع التعامل مع الرموز المميزة للتصديق للحصول على مزيد من المعلومات. نوصي بإنشاء مجموعة/مستخدم مخصص ومنح تلك المجموعة الإذن لإدارة التدفقات في حاوية الموارد السحابية أو الإيجار المناسب. يمكنك بعد ذلك إنشاء رمز مميز للتصديق للمستخدم الذي أنشأته واستخدامه في تكوين عميل Kafka.
تقيد نقاط النهاية الخاصة الوصول إلى شبكة سحابة ظاهرية محددة (VCN) داخل موقع الإيجار حتى لا يمكن الوصول إلى تدفقاتها عبر الإنترنت. تربط نقاط النهاية الخاصة عنوان IP خاص داخل شبكة VCN بمجمع التدفق، مما يسمح لنسبة استخدام التدفق بتجنب اجتياز الإنترنت. لإنشاء نقطة انتهاء خاصة بالتدفق، تحتاج إلى الوصول إلى VCN باستخدام شبكة فرعية خاصة عند إنشاء تجمع التدفق. راجع حول نقاط النهاية الخاصة وشبكات VCN والشبكات الفرعية، للحصول على مزيد من المعلومات.
يمكنك كتابة محتويات تدفق مباشرة إلى حزمة تخزين الكائنات، لاستمرار البيانات عادة في التدفق للتخزين طويل الأجل. يمكن تحقيق ذلك باستخدام Kafka Connect لـ S3 مع Streaming. لمزيد من المعلومات، راجع منشور مدونة النشر إلى تخزين الكائنات من Oracle Streaming Service.
يمكنك استيعاب البيانات من جدول في مثيل Oracle Autonomous Transaction Processing. لمزيد من المعلومات، اطلع على منشور مدونة استخدام Kafka Connect with Oracle Streaming Service and Autonomous DB.
يمكنك استخدام Kafka SDKs لإنتاج الرسائل واستهلاكها من التدفق، ويمكنك استخدام دعم Micronaut المدمج لـ Kafka. لمزيد من المعلومات، اطلع على منشور مدونة سهولة المراسلة مع دعم Kafka وOracle Streaming Service لـ Micronaut.
للحصول على معلومات، اطلع على استيعاب بيانات إنترنت الأشياء من وسطاء MQTT في منشور مدونة OCI-Oracle Streaming Service، وOCI- Kafka Connect Harness، وOracle Kubernetes Engine.
تم اعتماد Oracle GoldenGate for Big Data الآن للتكامل مع التدفق. لمزيد من المعلومات، يرجى الاطلاع على الاتصال بـ Oracle Streaming Service في وثائق Oracle GoldenGate for Big Data.
يجب استخدام Kafka JDBC Sink Connect لنقل بيانات التدفق مباشرةً إلى Oracle Autonomous Data Warehouse.
تستخدم Streaming تسعيرًا بسيطًا قائمًا على الدفع أولًا بأول، ما يضمن أنك تدفع فقط مقابل الموارد التي تستخدمها. تتضمن أبعاد التسعير ما يلي
لاستخدام أقسام أعلى من حدود الخدمة الافتراضية، يوجد حد أدنى للاستخدام المتوقع يبلغ 10 جيجابايت في الساعة (طلبات الإحضار والإنشاء) لكل 50 قسمًا. إذا كان استخدامك الفعلي أقل من الحد الأدنى المتوقع للاستخدام، فستتم محاسبتك على الحد الأدنى المتوقع للاستخدام.
الرجاء الرجوع إلى صفحة منتج التدفق للحصول على أحدث معلومات التسعير.
يضمن نموذج التسعير الرائد في Streaming الدفع عند استخدام الخدمة ضمن حدود الخدمة الافتراضية. بالنسبة للأقسام الإضافية التي تتجاوز حدود الخدمة الحالية، يتوقع Streaming الحد الأدنى للاستخدام البالغ 10 جيجابايت في الساعة (طلبات الإحضار والإنشاء) لكل 50 قسمًا مستخدمًا. إذا كان الاستخدام الفعلي أقل من الحد الأدنى المتوقع للاستخدام، فستتم محاسبتك على الحد الأدنى للاستخدام المتوقع، أي 10 جيجابايت × 0.025 دولار = 0.25 دولار في الساعة لكل 50 قسمًا.
لا يفرض التدفق سعرًا إضافيًا لنقل البيانات داخل الخدمة وخارجها. بالإضافة إلى ذلك، يمكن للمستخدمين الاستفادة من قوة مركز موصل الخدمة لنقل البيانات من التدفق وإليه بطريقة لا تحتاج إلى خوادم دون أي سعر إضافي.
لا يعمل التدفق حاليًا في الطبقة المجانية.
إدارة الهوية والوصول تتيح لك التحكم فيمن يمكنه الوصول إلى مواردك السحابية. لاستخدام موارد Oracle Cloud Infrastructure، يجب أن تحصل على نوع الوصول المطلوب في سياسة يكتبها المسئول، سواء كنت تستخدم وحدة التحكم أو واجهة برمجة تطبيقات REST مع SDK أو CLI، أو أدوات أخرى. يتم تحديد سياسة الوصول في شكل
Allow <subject> to <verb> <resource-type> in <location> where <conditions>
يمكن لمسئولي الإيجار استخدام السياسة
Allow group StreamAdmins to manage streams in tenancy
مما يتيح لمجموعة محددة StreamAdmins تنفيذ كل شيء باستخدام تدفق يتراوح بين تكوين التدفقات والموارد المرتبطة بها وتحديثها وإدراجها وحذفها. مع ذلك، يمكنك دائمًا تحديد سياسات أكثر تفصيلًا، حتى يكون المستخدمين المحددين فحسب في مجموعة مؤهلًا لمجموعة فرعية فحسب من الأنشطة التي يمكنهم تنفيذها في تدفق محدد. إذا كنت جديدًا على الأنظمة، فراجع البدء في استخدام السياسات والسياسات العامة. إذا أردت التعمق في كتابة الأنظمة للتدفق، يرجى الاطلاع على تفاصيل خدمة التدفق في مرجع سياسة IAM.
يمكنك توفير تدفق وجميع المكونات المرتبطة به مثل سياسات IAM، والأقسام، وإعدادات التشفير، وما إلى ذلك، باستخدام Oracle Cloud infrastructure Resource Manager أو موفر Terraform لـ Oracle Cloud Infrastructure. للحصول على معلومات حول موفر Terraform، يرجى الاطلاع على موضوع Terraform لخدمة التدفق.
عند تكوين تدفق، يجب تحديد عدد الأقسام الموجودة في التدفق. يمكن أن تساعدك الإنتاجية المتوقعة من التطبيق في تحديد عدد الأقسام لتدفقك. قم بضرب متوسط حجم الرسالة في الحد الأقصى لعدد الرسائل المكتوبة في الثانية لتقدير الإنتاجية المتوقعة. نظرًا إلى أن القسم الواحد محدود بمعدل كتابة يبلغ 1 ميجابايت في الثانية، فإن الإنتاجية الأعلى تتطلب أقسام إضافية لتجنب التقييد. لمساعدتك في إدارة الزيادات المفاجئة في التطبيقات، نوصي بتخصيص أقسام أعلى قليلًا من الحد الأقصى للإنتاجية.
يمكنك إنشاء أقسام عند تكوين تدفق، إما على وحدة التحكم أو برمجيًا.
واجهة مستخدم وحدة التحكم:
برمجيًا كما يلي:
إنشاء تدفق
CreateStreamDetails streamDetails =
CreateStreamDetails.builder()
.compartmentId(compartmentId)
.name(streamName)
.partitions(partitions)
.build();
يعد المثال الأكثر تفصيلًا متوفر مع SDK.
يدير التدفق الأقسام داخليًا حتى لا تحتاج إلى إدارتها. لا يمكن للمستخدم حذف مقطع بشكل مباشر. عند حذف تدفق، يتم حذف جميع الأقسام المقترنة بهذا التدفق.
يتم تحديد إنتاجية تدفق Oracle Cloud Infrastructure من القسم. يوفر القسم إدخال بيانات بمعدل 1 ميجابايت في الثانية ومخرجات بيانات بمعدل 2 ميجابايت في الثانية.
يمكن زيادة إنتاجية تدفق Oracle Cloud Infrastructure من خلال إضافة المزيد من الأقسام إليه. لا توجد حدود علوية نظرية على عدد الأقسام التي يمكن أن يشتمل عليها التدفق. مع ذلك، يأتي كل إيجار لدى Oracle Cloud Infrastructure بحد تقسيم افتراضي قدره 5 للحسابات من نوع "الأرصدة العامة". إذا كنت بحاجة إلى مزيد من الأقسام، يمكنك دائمًا طلب زيادة حدود الخدمة.
يمكنك طلب زيادة حد الخدمة باتباع الخطوات التالية:
فيما يلي بعض أفضل الممارسات التي يجب وضعها في الاعتبار أثناء إنشاء تدفق:
بمجرد إنشاء تدفق وهو بالحالة "نشط"، يمكنك البدء في إنشاء رسائل. يمكنك إنتاج تدفق إما باستخدام وحدة التحكم أو عبر واجهة برمجة التطبيقات.
بالنسبة لوحدة التحكم: انتقل إلى قسم خدمة التدفق في وحدة التحكم، الموجودة ضمن علامة التبويب تحليلات الحلول والمنصات. إذا كان لديك تدفقات مكونة بالفعل، فحدد تدفقًا في حاوية موارد سحابية وانتقل إلى صفحة "بيانات التدفق". انقر زر "إنشاء رسالة اختبار" في وحدة التحكم. سيؤدي ذلك إلى تعيين مفتاح تقسيم بشكل عشوائي للرسالة مع الكتابة إلى قسم في التدفق. يمكنك عرض هذه الرسالة في قسم الرسائل الحديثة بنقر زر تحميل الرسائل.
بالنسبة لواجهات برمجة التطبيقات: يمكنك استخدام واجهات برمجة تطبيقات التدفق لـ Oracle Cloud Infrastructure أو واجهات برمجة تطبيقات Kafka للإنتاج إلى تدفق. سيتم نشر الرسالة إلى قسم في التدفق. إذا كان ثمة أكثر من قسم واحد، فيمكنك تحديد مفتاحًا لاختيار القسم الذي تريد إرسال الرسالة إليه، وإذا لم تحدد مفتاحًا، يعين التدفق مفتاحًا لك بإنشاء UUID وإرسال الرسالة إلى قسم عشوائي. يضمن هذا توزيع الرسائل بدون مفتاح بالتساوي عبر جميع الأقسام. مع ذلك، نوصي دائمًا بتحديد مفتاح رسالة حتى يمكنك التحكم في استراتيجية التقسيم لبياناتك بوضوح.
توجد أمثلة حول طريقة إنتاج رسائل إلى تدفق باستخدام وحدات SDK للتدفق في الوثائق.
أثناء استخدام واجهات برمجة تطبيقات Oracle Cloud Infrastructure لإنشاء رسالة، يتم التحكم في منطق التقسيم بواسطة التدفق. يُسمى هذا التقسيم من جانب الخادم. كمستخدم، يمكنك اختيار القسم الذي تريد إرساله استنادًا إلى المفتاح. يتم تجزئة المفتاح ويتم استخدام القيمة الناتجة لتحديد رقم القسم لإرسال الرسالة إليه. تنتقل الرسائل التي لها نفس المفتاح إلى نفس القسم. قد تنتقل الرسائل ذات المفاتيح المختلفة إلى أقسام مختلفة أو إلى نفس القسم.
مع ذلك، إذا كنت تستخدم واجهات برمجة تطبيقات Kafka للإنتاج إلى تدفق، يتم التحكم في التقسيم بواسطة عميل Kafka والمقسم في عميل Kafka هو المسؤول عن منطق التقسيم. يُسمى هذا التقسيم من جانب العميل.
لضمان التوزيع المنتظم للرسائل، تحتاج إلى قيمة فعالة لمفاتيح الرسائل الخاصة بك. لإنشاء قيمة، فكر في انتقائية البيانات المتدفقة ومجموعة أعدادها.
تهدف دائمًا إلى مجموعة أعداد عالية وانتقائية منخفضة.
يضمن التدفق عمليات قراءة وكتابة قابلة للتسلسل داخل قسم. إذا أردت التأكد من انتقال الرسائل ذات القيمة نفسها إلى نفس القسم، فيجب عليك استخدام نفس المفتاح لتلك الرسائل.
يوفر القسم معدل إدخال بيانات يبلغ 1 ميجابايت/ثانية ويدعم ما يصل إلى 1000 رسالة "إنشاء" في الثانية. بالتالي، إذا كان حجم السجل أقل من 1 كيلوبايت، فسيكون معدل إدخال البيانات الفعلي لقسم أقل من 1 ميجابايت/ثانية، محددًا بالحد الأقصى لعدد رسائل "إنشاء" في الثانية. نوصي بإصدار رسائل في مجموعات للأسباب التالية:
يجب ألا يتجاوز حجم مجموعة الرسائل 1 ميجابايت. في حالة تجاوز هذا الحد، يتم تشغيل آلية التقييد.
يمكنك إما استخدام التقسيم أو إرسال الرسالة باستخدام Oracle Cloud Infrastructure Object Storage.
عند إنتاج منتِج بمعدل أكبر من 1 ميجابايت في الثانية، يتم تقييد الطلب وإعادة إرسال خطأ 429، الطلبات الكثيرة جدًا إلى العميل مما يشير إلى استلام عدد كبير جدًا من الطلبات في الثانية لكل قسم.
يعد المستهلِك كيانًا يقرأ الرسائل من تدفق واحد أو أكثر. يمكن أن يوجد هذا الكيان بمفرده أو يكون جزءًا من مجموعة مستهلكين. لاستهلاك الرسائل، يجب إنشاء مؤشر ثم استخدام ذلك المؤشر لقراءة الرسائل. يشير المؤشر لموقع في تدفق. قد يكون هذا الموقع إزاحة أو وقت محدد في قسم، أو موقع حالي لمجموعة. تبعًا للموقع الذي تريد القراءة منه، توجد أنواع مؤشرات متعددة متاحة: TRIM_HORIZON
وAT_OFFSET
وAFTER_OFFSET
وAT_TIME
وLATEST.
لمزيد من المعلومات، ارجع إلى الوثائق الخاصة برسائل الاستهلاك.
تُرجع طريقة getLimit( ) الخاصة بفئة GetMessagesRequest الحد الأقصى لعدد الرسائل. يمكنك تحديد أي قيمة تصل إلى 10,000. بشكل افتراضي، ترجع الخدمة أكبر عدد ممكن من الرسائل. فكّر في متوسط حجم الرسالة لتجنب تجاوز الإنتاجية على التدفق. تعتمد أحجام مجموعات تدفق GetMessages على متوسط حجم الرسالة الناتجة إلى التدفق المحدد.
يوفر التدفق دلالات تسليم "مرة واحدة" على الأقل للمستهلكين. نوصي أن ترعى التطبيقات الاستهلاكية التكرارات. على سبيل المثال، عندما يقوم مثيل غير نشط سابقًا من مجموعة المستهلكين بإعادة الانضمام إلى المجموعة وبدء استهلاك الرسائل التي لم يتم تثبيتها بواسطة المثيل المخصص مسبقًا، تكون هناك فرصة لمعالجة التكرارات.
يقال أن المستهلِك يتأخر إذا كنت تنتج أسرع مما يمكنك استهلاكه. لتحديد إذا كان المستهلِك لديك يتأخر، فيمكنك استخدام الطابع الزمني للرسالة. إذا كان المستهلك يتأخر، ففكر في استدعاء مستهلِك جديد ليتولى بعض الأقسام من المستهلِك الأول. إذا كنت تتأخر عن قسم واحد، فلا توجد طريقة للاسترجاع.
تمعّن في الخيارات التالية:
إذا كنت تريد معرفة عدد الرسائل التي يتم تركها لاستهلاكها في قسم معين، فاستخدم مؤشرًا من النوع LATEST
، واحصل على إزاحة الرسالة المنشورة التالية، وقم بعمل اتصال دلتا مع الإزاحة التي تستهلكها حاليًا. نظرًا إلى عدم وجود إزاحة كثيفة، يمكنك الحصول على تقدير تقريبي فحسب. مع ذلك، إذا توقف المنتِج عن الإنتاج، فلن تتمكن من الحصول على هذه المعلومات لأنك لن تحصل أبدًا على إزاحة الرسالة المنشورة التالية.
يمكن تكوين المستهلكين لاستهلاك الرسائل كجزء من مجموعة. يتم توزيع أقسام التدفق بين أعضاء مجموعة حتى يتم إرسال الرسائل من أي قسم واحد فحسب إلى مستهلِك واحد. تتم إعادة موازنة تخصيصات الأقسام لأن المستهلكين ينضمون إلى المجموعة أو يغادرونها. لمزيد من المعلومات، ارجع إلى الوثائق الخاصة بمجموعات المستهلكين.
توفر مجموعات المستهلكين المزايا التالية:
يوجد حد أقصى قدره 50 مجموعة مستهلكين لكل تدفق. تعد مجموعات المستهلكين مؤقتة. تختفي عندما لا يتم استخدامها لفترة الاحتفاظ الخاصة بالتدفق.
تحتوي المكونات التالية للتدفق على المهلات:
تمثل إعادة التوازن العملية التي تقوم فيها مجموعة من المثيلات التي تنتمي إلى نفس إحداثيات مجموعة المستهلكين بامتلاك مجموعة من الأقسام التي تنتمي إلى تدفق محدد بشكل متبادل. في نهاية عملية إعادة توازن ناجحة لمجموعة مستهلكين، يكون كل قسم داخل التدفق مملوكًا لمثيل مستهلك واحد أو أكثر داخل المجموعة.
عندما يصبح مثيل مجموعة المستهلكين غير نشط إما لأنه يفشل في إرسال إشارة النشاط لمدة أكثر من 30 ثانية أو يتم إنهاء العملية، فيتم تشغيل نشاط إعادة التوازن داخل مجموعة المستهلكين. يتم إجراء ذلك لمعالجة الأقسام التي تم استهلاكها مسبقًا بواسطة المثيل غير النشط وإعادة تعيينها إلى مثيل نشط. بالمثل، عند ضم مثيل مجموعة مستهلكين كانت غير نشطة سابقًا بالمجموعة، يتم تشغيل إعادة التوازن لتعيين قسم لبدء الاستهلاك منه. لا توفر خدمة التدفق أي ضمان في إعادة تعيين المثيل إلى نفس القسم عند إعادة الانضمام إلى المجموعة.
للاسترداد من حالة إخفاق، يجب تخزين إزاحة الرسالة الأخيرة التي قمت بمعالجتها لكل قسم حتى يمكنك البدء في الاستهلاك من هذه الرسالة إذا كنت بحاجة إلى إعادة تشغيل المستهلك.
ملاحظة: لا تخزن المؤشر؛ إذ تنتهي صلاحيته بعد 5 دقائق.
لا نقدم أي إرشادات لتخزين إزاحة الرسالة الأخيرة التي قمت بمعالجتها، حتى تتمكن من استخدام أي طريقة تريدها. على سبيل المثال، يمكنك تخزين المؤشر على تدفق آخر أو ملف على جهاز ظاهري أو حزمة تخزين كائنات. عند إعادة تشغيل المستهلِك، اقرأ إزاحة الرسالة الأخيرة التي قمت بمعالجتها ثم قم بإنشاء مؤشر من النوع AFTER_OFFSET
وحدد الإزاحة التي حصلت عليها للتو.
توفر خدمة التدفق نقطة انتهاء Kafka التي يمكن استخدامها من التطبيقات الموجودة المستندة إلى Apache Kafka. يعد التغيير بالتكوين كل ما هو مطلوب من أجل الحصول على تجربة Kafka مُدارة بالكامل. يوفر توافق Streaming's Kafka بديلًا لتشغيل مجموعة Kafka الخاصة بك. يدعم التدفق إصدار Apache Kafka 1.0 وإصدارات العملاء الأحدث، ويعمل مع تطبيقات Kafka وأدوات وأطر العمل الحالية.
سيتمكن العملاء الذين لديهم تطبيقات Kafka حالية من الترحيل إلى التدفق بمجرد تغيير المعلمات التالية لملف تكوين Kafka.
security.protocol: SASL_SSL
sasl.mechanism: PLAIN
sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="{username}" password="{pwd}";
bootstrap.servers: kafka.streaming.{region}.com:9092
# Application settings
topicName: [streamOcid]
لاستخدام موصلات Kafka مع التدفق، قم بإنشاء تكوين Kafka Connect باستخدام وحدة التحكم أو واجهة سطر الأوامر (CLI). تستدعي واجهة برمجة تطبيقاتالتدفقمهمات التكوينات هذه. تم إنشاء تكوينات Kafka Connect في حاوية موارد سحابية معينة تعمل للتدفقات في نفس الحاوية فحسب. يمكنك استخدام موصلات Kafka متعددة بنفس تكوين Kafka Connect. في الحالات التي تتطلب إنتاج أو استهلاك التدفقات في حاويات موارد سحابية منفصلة، أو حيث تكون هناك حاجة إلى مزيد من السعة لتجنب الوصول إلى حدود التقييد في تكوين Kafka Connect (على سبيل المثال، العديد من الموصلات أو الموصلات التي تحتوي على الكثير من العمال)، يمكنك إنشاء المزيد من تكوينات Kafka Connector.
يعني توافق Kafka Connect للتدفق أنه يمكنك الاستفادة من العديد من موصلات الطرف الأول والثالث الموجودة لنقل البيانات من مصادرك إلى أهدافك. تشتمل موصلات Kafka لمنتجات Oracle على:
للحصول على قائمة كاملة بموصلات المصادر والتخزين الخاصة بـ Kafka، راجع مركز Confluent Kafka الرسمي.
يتكامل التدفق بالكامل مع Oracle Cloud Infrastructure Monitoring. في وحدة التحكم، حدد التدفق الذي تريد مراقبته. ضمن صفحة بيانات التدفق، انتقل إلى قسم الموارد، ثم انقر على إنتاج الرسومات البيانية للمراقبة لمراقبة طلبات المنتج. أو انقر على الرسوم البيانية لمراقبة الاستهلاك لمراقبة القياسات من جانب المستهلك. تتوفر القياسات على مستوى التدفق وليس على مستوى القسم. للحصول على وصف لقياسات التدفق المدعومة، راجع الوثائق.
يوفر كل قياس متوفر في وحدة التحكم الإحصائيات التالية:
يتم توفير هذه الإحصائيات للفترات الزمنية التالية:
بالنسبة للمنتِجين، ضع في اعتبارك وضع تنبيهات على المقاييس التالية:
بالنسبة للمستهلِكين، ضع في اعتبارك وضع تنبيهات على المقاييس التالية:
يكون التدفق سليم عندما يكون في حالة نشطة. إذا كان بإمكانك الإنتاج إلى التدفق الخاص بك، وإذا حصلت على استجابة ناجحة، فسيكون التدفق سليمًا. بعد إنشاء البيانات في التدفق، يمكن للمستهلِكين الوصول إليها خلال فترة الاحتفاظ التي تم تكوينها. إذا نتج عن استدعاءات واجهة برمجة التطبيقات (API) GetMessages مستويات متميزة من أخطاء الخادم الداخلية، فلن تكون الخدمة سليمة.
كما يحتوي التدفق السليم على المقاييس السليمة التالية:
يشير التقييد إلى أن التدفق غير قادر على التعامل مع أي عمليات قراءة أو كتابة جديدة. يتم تنشيط آلية التقييد عند تجاوز الحدود التالية:
توجد تفاصيل حول أخطاء واجهة برمجية التطبيقات في الوثائق.