أنظمة الأعمال

متى تحتاج ربط أنظمة شركتك؟ وكيف تختار طريقة التكامل المناسبة؟

دليل عملي لتحديد متى تربط الأنظمة التجارية، وكيف تحدد ملكية البيانات، ومتى تستخدم API متزامن أو أحداث غير متزامنة أو مزامنة مجدولة — مع ملحق ترحيل عملي لتدفقات CES بعد إهمال AMQP ودعم Microsoft Fabric Eventstreams.

The Drix Teamنُشر في حُدّث في 9 دقائق قراءة
  • تكامل الأنظمة
  • change data capture
  • eventstreams
  • fabric
  • event-hubs
  • integration
بنية تكامل أنظمة أعمال تربط ERP وCRM وواجهات API والأحداث والمزامنة

تكامل الأنظمة لا يعني مجرد توصيل تطبيقين ببعضهما. فعالية التكامل تعتمد على فهم عملية العمل التي تمر عبر الحدود بين الأنظمة، البيانات المطلوب نقلها، من هو النظام المرجعي لكل نطاق، ومتطلبات حداثة البيانات وسلوك التراجع عند الفشل. هذا الدليل الموجّه لفرق المنتج والهندسة يقدّم قواعد قرار واضحة للاختيار بين استدعاءات API المتزامنة، أنماط الرسائل/الأحداث غير المتزامنة، أو مزامنة مجدولة، مع أنماط لإعادة المحاولة، idempotency، والمراقبة التشغيلية. تحديث (أغسطس 2026): أضفنا قسمًا عمليًا يبيّن تدابير ترحيل Microsoft Change Event Streaming (CES) بعد إعلان إهمال بروتوكول AMQP لإنشاء مجموعات CES الجديدة (فعّال 15 أغسطس 2026) وإضافة هدف Microsoft Fabric Eventstreams إلى قائمة الوجهات المدعومة. ستجد هنا فحصَ ترحيل قابل للتنفيذ، مقارنة قرارية بين Event Hubs وFabric Eventstreams (المصادقة، الحوكمة، الأداء)، أمثلة بنية، ومقتطفات IaC وSQL للتنفيذ والاختبار.

1. ابدأ من عملية العمل، لا من التقنية

قبل اختيار بروتوكول أو منصة، صنّف عملية العمل التي تحتاج الربط: ما الذي يطلق التكامل؟ ما النظام صاحب الحقيقة؟ من يستهلك البيانات؟ ما مدى حساسية الحداثة (real-time vs batch)؟ وكيف يجب أن يتصرف النظام عند فشل التسليم؟

  • تعرّف الحدث البادئ للعملية والأثر المطلوب عليه.
  • حدد النظام المرجعي لكل كيان بيانات لتقليل الانحراف (drift).
  • اختر نموذج التكامل بناءً على الحاجة للنتيجة الفورية أو لفصل الاعتمادية.

ما الذي تغيّر (15 أغسطس 2026)

أعلنت صفحات إصدار Azure SQL Managed Instance أن بروتوكول AMQP مُعلَن كمهمل (deprecated) لاستخدامه لإنشاء مجموعات Change Event Streaming (CES) اعتباراً من 15 أغسطس 2026. في نفس السياق، أصبحت وجهة Microsoft Fabric Eventstreams خيارًا مدعوماً لنشر تغييرات SQL إلى لقطة أحداث مباشرة، إضافةً إلى Azure Event Hubs. المصدر الرسمي: صفحة "What's new" الخاصة بـAzure SQL Managed Instance على Microsoft Learn.

  • إهمال AMQP يؤثر على فرق تعتمد على نقل CES عبر AMQP إلى Event Hubs أو Eventstreams.
  • CES يستمر في إنتاج رسائل بصيغة CloudEvents؛ البدل يتعلق ببروتوكول النقل (Kafka بديل شائع، ودعم Fabric Eventstreams يفتح مسارات أصيلة إلى Fabric).
  • إهمال لا يعني إزالة فورية؛ لا توجد صفحة إيقاف تشغيل نهائية موثقة لذلك، وننصح بالتواصل مع دعم Microsoft لجدول مواعيد الإيقاف النهائي.

من المتأثر وكيف تقرّر مستوى الإلحاح

أجِر جردًا لمجموعات CES الحالية لتحديد أيّها تستخدم نقاط نهاية Event Hubs عبر AMQP أو مُعدّة إلى Fabric Eventstreams عبر AMQP. قرّر مدى الإلحاح اعتمادًا على ما إذا كانت مستهلكاتك تعتمد على عملاء AMQP مخصّصين أو على أدوات غير قابلة للتحوّل بسهولة.

  • فوري: خطوط إنتاج تستخدم عملاء AMQP مخصّصين في الإنتاج أو أدوات طرف ثالث لا تدعم Kafka.
  • مخطط: أنظمة يمكنها اختبار وتحويل المستهلكين إلى Kafka أو استخدام Event Hubs native SDK خلال 1–3 أشهر.
  • قابل للتأجيل: بيئات غير حرجة حيث يمكن تخطيط الترحيل ضمن دورة صيانة أطول.
  1. 1جرد مجموعات CES وتحديد المالكين والمستهلكين.
  2. 2صُنّف المستهلكين بحسب دعمهم لبروتوكول Kafka أو إمكانية تشغيل جسر بروتوكول.
  3. 3عيّن هدفًا: Event Hubs (Kafka) إن كانت البنية الحالية تعتمد على Kafka-native، أو Fabric Eventstreams إن أردت تكامل Fabric التحليلي والحوكمة.

بروتوكولات ومصادقة: ما يجب مراجعته

مع إهمال AMQP، الخيارات العملية هي استخدام بروتوكول Kafka عند توجيه CES إلى Azure Event Hubs أو الإبقاء على Event Hubs SDKs التي لا تعتمد على AMQP. عند استهداف Fabric Eventstreams تأكد من آلية المصادقة المطلوبة (Managed Identity / SAS token / SAS key) ومن منح الأدوار الملائمة.

  • النقل والبروتوكول: اختر Kafka عندما تحتاج توافقًا مع نظام بيئي Kafka أو عند رغبتك بتجنّب اعتمادية AMQP.
  • مصادقة Fabric Eventstreams: يدعم Microsoft Entra managed identity وSAS token/keys. امنح Managed Identity أدوارًا مثل Azure Event Hubs Data Sender أو Contributor حسب الحاجة.
  • TLS: تأكَّد من أن Namespace يسمح بحد أدنى TLS 1.2 إن كنت تعتمد على تقنيات كانت تصنع اتصالًا عبر AMQP سابقًا.

مقارنة قرارية: Event Hubs مقابل Fabric Eventstreams

الخيار بين Event Hubs وFabric Eventstreams يعتمد على أربعة محاور رئيسية: تكامل المستهلكين، الحوكمة والحوائط الإدارية، متطلبات الأداء والlatency، والعمليات/مراقبة الإنذاذ.

  • اختَر Event Hubs عندما تحتاج إلى فصل متعدد المستهلكين، أو لديك مستهلكون خارجيون (طرف ثالث) يعتمدون على واجهات Kafka/Event Hubs.
  • اختَر Fabric Eventstreams عندما تريد تكاملاً أعمق مع Fabric (تحليل فوري داخل workspace، توزيع إلى Activators وأدوات Fabric) وحوكمة على مستوى Workspace.
  • اعتبارات الحوكمة: Fabric Eventstreams يرتبط بمساحة عمل Fabric ويتطلب منح أذونات workspace للهوية المدارة؛ Event Hubs يستخدم نموذج أذونات Azure التقليدي ومفاتيح SAS.
  • تدرّج الأداء: سلوك التقسيم والordering يظل قائمًا على المفاهيم المماثلة (partitions/keys) لكن تحقق من استخدام partition key الملائم وإدارة idempotency.

قائمة الترحيل خطوة بخطوة

قائمة تشغيل عملية ومفصلة للانتقال من AMQP إلى هدف حديث (Kafka أو Fabric Eventstreams). اتبع الترتيب لتقليل الانقطاع.

  1. 1أجرِ جردًا كاملاً لمجموعات CES الحالية وحدد أي منها يستخدم AMQP كقناة نقل وأسماء المستهلكين وأصحاب الملكية.
  2. 2اختر الهدف: Azure Event Hubs عبر بروتوكول Kafka أم Fabric Eventstreams بناءً على قرارك المعماري ومصادقة المستهلكين.
  3. 3صمّم سياسة partitioning: حدد partition_key_scheme في CES (StreamGroup, Table, Column, None) وتأكد من توافقها مع التوزيع في الوجهة.
  4. 4نمّ نموذج البنية في بيئة staging: أنشئ namespace/stream workspace موازٍ لاختبارات الاستهلاك والتحميل.
  5. 5قم بالتهيئة والبُنى التحتية عبر IaC (مثال Terraform/ARM أدناه)، وامنح Managed Identity الأدوار المطلوبة.
  6. 6أعد تهيئة مجموعة CES لاستخدام destination_type = AzureEventHubs مع protocol = kafka أو وجهة Fabric Eventstream مع إعداد المصادقة المناسب.
  7. 7نفّذ اختبارات تعاقدية للمستهلكين (schema، CloudEvents fields، رؤوس metadata)، ثم اختبارات أداء وتحمل، وقيّم consumer lag وpartition rebalancing.
  8. 8ابدأ قطعاً مرحليًا: نفّذ على مجموعة صغيرة من المستهلكين ثم وسّع بعد N أيام تشغيل تحت الحمل المتوقعة.
  9. 9فعّل مراقبة منتظمة وأضف تنبيهات على ingestion failures، throttling، consumer lag، وإعادة التوازن.
  10. 10حافظ على خطة تراجع: إعادة توجيه المستهلكين إلى نقطة نهاية AMQP القديمة إن أمكن أو تشغيل dual-write وقتياً.

مقتطفات IaC وSQL قابلة للاستخدام

أمثلة قصيرة توضح إنشاء Event Hubs namespace، تعيين دور Managed Identity عبر Terraform، وتعديل مجموعة CES لتستهدف Fabric Eventstream أو Event Hubs (Kafka). عدّل القيم وفق بيئتك.

  1. 1Terraform: إنشاء Event Hubs namespace وevent hub مع تعيين دور لإدارة هوية (مقتطف): provider "azurerm" { features = {} } resource "azurerm_eventhub_namespace" "eh_ns" { name = "myehnamespace" location = "eastus" resource_group_name = "rg-events" sku = "Standard" capacity = 1 } resource "azurerm_eventhub" "eh" { name = "db-changes" namespace_name = azurerm_eventhub_namespace.eh_ns.name resource_group_name = "rg-events" partition_count = 4 } resource "azurerm_role_assignment" "mi_sender" { scope = azurerm_eventhub_namespace.eh_ns.id role_definition_name = "Azure Event Hubs Data Sender" principal_id = "<sql-mi-managed-identity-object-id>" }
  2. 2ARM: ضبط الحد الأدنى لنسخة TLS على namespace (جزء من قالب ARM): { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "resources": [ { "type": "Microsoft.EventHub/namespaces", "apiVersion": "2022-10-01", "name": "myehnamespace", "properties": { "minimumTlsVersion": "1.2" }, "location": "eastus" } ] }
  3. 3SQL: تعديل مجموعة CES لتستهدف Fabric Eventstream أو Event Hubs عبر Kafka (مثال sp_add_object_to_event_stream_group): EXEC sys.sp_add_object_to_event_stream_group @stream_group_name = N'orders-stream-group', @object_schema_name = N'dbo', @object_name = N'Orders', @destination_type = N'AzureEventHubs', @destination_params = N'{"namespace":"myehnamespace.servicebus.windows.net","eventhub_name":"db-changes","protocol":"kafka","auth":{"type":"managed_identity","client_id":"<managed-identity-client-id>"},"partition_key_scheme":"StreamGroup","max_message_size_kb":64}', @enabled = 1;

اختبارات ومراقبة وخطة تشغيلية

اختبارات تشغيلية ومقاييس مراقبة أساسية يجب تنفيذها قبل وبعد القطع للحد من المخاطر.

  • اختبارات التعقّد: تحقق من توافق CloudEvents (الحقول المطلوبة) وسلوك headers عند النقل عبر Kafka مقابل AMQP.
  • اختبارات التحمّل: قياس throughput لكل partition، والبحث عن throttling أو ارتفاع consumer lag.
  • مقاييس المراقبة: ingestion metrics، throttled requests، consumer lag، وعدد rebalances. فعّل تنبيهات على قيم حرجة.
  • خطة تراجع: وثّق خطوات إعادة توجيه المستهلكين للسيرفر القديم أو تفعيل dual-write مؤقتاً.

تطوّر المخططات وتوافق المستهلكين

CES يرسل أغلفة CloudEvents؛ صمّم استراتيجية لإدارة تطور المخططات (backward/forward compatibility)، وركّز الاختبارات على الحقول التي تعتمد عليها المستهلكات.

  • اعتمد سجل مخططات أو نهجًا لإصدار الأحداث واختر حقل version داخل CloudEvents extensions إن لزم.
  • اختبر تغيّر الحقول بإرسال أحداث بالنسخ القديمة والجديدة والتحقق من سلوك المستهلكين.
  • إذا اعتمد المستهلكون على رؤوس AMQP خاصة، ضع طبقة تحويل أو جسرًا يحول تلك الرؤوس إلى امتدادات CloudEvents أو مفاتيح الرسالة.

نقطة عدم اليقين ومعالجة المخاطر

الإعلان يوصف AMQP كمهمل بدءًا من 15 أغسطس 2026 لكنه لا يذكر تاريخ إزالة نهائي واضح. قوموا بتخصيص وقت للاتصال بدعم Microsoft لجدول إزالة مفصّل إن كان ذلك يؤثر على عقود تشغيلية أو مستهلكين خارجيين.

  • تحقّق من تحقيق التكافؤ في الميزات بين Fabric Eventstreams وEvent Hubs (private endpoints، CMKs) في المنطقة التي تعمل بها قبل التحول النهائي.
  • قيّم الاعتماد على عملاء AMQP في أدوات الطرف الثالث وخطط لترحيلها أو لبناء جسر بروتوكول.
  • احتفظ بخطة تراجع قادرة على إعادة توجيه أو تفعيل dual-write مؤقتًا أثناء النشر المرحلي.

الأسئلة الشائعة

هل ستتوقف مجموعات CES الحالية التي تستخدم AMQP عن العمل فورًا؟ المستندات الرسمية تُشير إلى أنّ AMQP مُهمل عند إنشاء مجموعات CES الجديدة اعتباراً من 15 أغسطس 2026، لكنها لا تحدّد تاريخ إيقاف تشغيل نهائي للمجموعات الحالية. نوصي بمخاطبة دعم Microsoft للحصول على جدول الإيقاف الخاص ببيئتك.

ما هي طرق المصادقة عند استهداف Fabric Eventstreams؟ Fabric Eventstreams يدعم Microsoft Entra managed identities وSAS tokens/keys. عند استخدام Managed Identity، امنحها دورًا مثل Azure Event Hubs Data Sender أو Contributor وفقًا لنطاق الوصول المطلوب.

هل أحتاج لتغيير إعدادات TLS؟ تحقق من أن Event Hubs namespace يسمح بالحد الأدنى TLS 1.2 إذا كنت تبقي دعمًا مرحليًا لـAMQP. إذا ضبط الحد الأدنى على TLS 1.3 فقد يتأثر دعم AMQP.

الخلاصة

اجعل جرد مجموعات CES والمستهلكين أولوية فورية. ابدأ POC على هدفك المختار (Event Hubs Kafka أو Fabric Eventstreams)، عيّن مالكين للترحيل، واستخدم النهج المرحلي مع مراقبة للحفاظ على الاستمرارية. تواصل مع دعم Microsoft للحصول على مؤشرات زمنية نهائية لإيقاف AMQP إن كانت تلك النقطة حرجة لعملياتك.

حدود هذا المحتوى

إعلان إهمال AMQP صادر عن Microsoft ويبدأ من 15 أغسطس 2026 لكنه لا يتضمن تاريخ إزالة نهائي؛ توصيتنا هي التخطيط المبكّر والتواصل مع دعم Microsoft لتحديد نافذة الإيقاف. قد تختلف بعض ميزات Fabric Eventstreams عن Event Hubs (مثل private endpoints أو CMK) حسب المنطقة ومرحلة التوافر؛ تحقق قبل النقل النهائي.

المصادر والمراجع

لديك فكرة مشروع وتحتاج إلى قرار تقني واضح؟ لنحدد الخطوة المناسبة

نساعدك على فهم المتطلبات وتحديد النطاق المناسب قبل بدء التطوير.

احجز استشارتك