> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-trino-dialect.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Replica-aware routing

> وجّه الطلبات ذات الصلة إلى النسخة المتماثلة نفسها في ClickHouse Cloud لاستخدام الجداول المؤقتة والجلسات وإعادة استخدام ذاكرة التخزين المؤقت واتساق القراءة بعد الكتابة

export const EnterprisePlanFeatureBadge = ({feature = 'هذه الميزة', support = false, linking_verb_are = false}) => {
  return <div className="enterprisePlanFeatureContainer">
            <div className="enterprisePlanFeatureBadge">
                ميزة في خطة Enterprise
            </div>
            <div>
                <p>{feature} {linking_verb_are ? 'متوفرة' : 'متوفرة'} في خطة Enterprise. {support ? `تواصل مع الدعم لتمكين هذه الميزة.` : 'للترقية، انتقل إلى صفحة الخطط في Cloud Console.'}</p>
            </div>
        </div>;
};

export const PrivatePreviewBadge = () => {
  return <div className="privatePreviewBadge">
            <div className="privatePreviewIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M5.33301 6.66667V4.66667V4.66667C5.33301 3.194 6.52701 2 7.99967 2V2C9.47234 2 10.6663 3.194 10.6663 4.66667V4.66667V6.66667" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path d="M8.00033 9.33337V11.3334" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path fillRule="evenodd" clipRule="evenodd" d="M11.333 14H4.66634C3.92967 14 3.33301 13.4033 3.33301 12.6666V7.99996C3.33301 7.26329 3.92967 6.66663 4.66634 6.66663H11.333C12.0697 6.66663 12.6663 7.26329 12.6663 7.99996V12.6666C12.6663 13.4033 12.0697 14 11.333 14Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            {'معاينة خاصة في ClickHouse Cloud'}
        </div>;
};

<PrivatePreviewBadge />

<EnterprisePlanFeatureBadge feature="التوجيه المراعي للنسخ المتماثلة" support="true" />

يوجّه التوجيه المراعي للنسخ المتماثلة، المعروف أيضًا باسم الجلسات المثبتة أو التوجيه المثبت أو تقارب الجلسة، الطلبات ذات الصلة إلى النسخة المتماثلة نفسها من ClickHouse. استخدمه عندما تحتاج إلى أن تظل [الجداول المؤقتة](/ar/reference/statements/create/table/temporary-table) أو [حالة الجلسة المسمّاة](/ar/concepts/features/interfaces/http#using-clickhouse-sessions-in-the-http-protocol) متاحة عبر الاستعلامات، أو عندما تريد أن تعيد الاستعلامات ذات الصلة استخدام ذاكرات التخزين المؤقت المحلية للنسخة المتماثلة نفسها، أو عندما تحتاج إلى [اتساق القراءة بعد الكتابة](#read-after-write-consistency) بين عملية كتابة وعمليات القراءة التي تليها.

هذه الميزة تعمل وفق أفضل جهد ولا تضمن العزل. يربط الوكيل كل قيمة توجيه بنسخة متماثلة واحدة. ويظل هذا الربط ثابتًا ما دام عدد النسخ المتماثلة دون تغيير؛ لكن التحجيم الخدمة قد يربط القيمة بنسخة متماثلة مختلفة.

<Warning>
  **يتطلب واجهة HTTP**

  يُطبَّق التوجيه المراعي للنسخ المتماثلة في طبقة الوكيل عبر [واجهة HTTP/HTTPS](/ar/concepts/features/interfaces/http) باستخدام الترويسة `X-ClickHouse-Replica-Tag`.

  التوجيه المراعي للنسخ المتماثلة **غير متاح حاليًا عبر البروتوكول الأصلي** (المنفذ الأصلي، مثل برنامج التشغيل [clickhouse-go](/ar/integrations/language-clients/go/index) في وضعه الأصلي الافتراضي). يجب على عملاء البروتوكول الأصلي التبديل إلى HTTP وإرسال قيمة التوجيه مع كل طلب.
</Warning>

<div id="prerequisites">
  ## المتطلبات الأساسية
</div>

* تحتاج خدمتك إلى **نسختين متماثلتين أو أكثر**. في خدمة ذات نسخة متماثلة واحدة، لا توجد نسخة يمكن التثبيت عليها.
* تكون متاحة على **Enterprise** افتراضيًا عندما تصبح الميزة في مرحلة GA.
* مدعومة في خدمات ClickHouse Cloud القياسية. أما [BYOC](/ar/products/cloud/guides/infrastructure/deployment-options/byoc/overview) فغير مدعوم بعد.

<div id="configuring-replica-aware-routing">
  ## تهيئة التوجيه المراعي للنسخ المتماثلة
</div>

افتح تذكرة [دعم](https://clickhouse.com/support/program) واطلب تمكين التوجيه اللاصق للنسخ المتماثلة المستند إلى HTTP. ضمّن معرّف الخدمة وسبب حاجتك إليه (الجداول المؤقتة، أو حالة الجلسة، أو إعادة استخدام ذاكرة التخزين المؤقت، أو اتساق القراءة بعد الكتابة). لا يلزم إجراء أي إعادة تشغيل.

<div id="http-based-routing">
  ## التوجيه المستند إلى HTTP
</div>

لتثبيت عبء عمل على نسخة متماثلة، أرسل ترويسة `X-ClickHouse-Replica-Tag` عبر [واجهة HTTPS](/ar/concepts/features/interfaces/http). يستخدم الوكيل التجزئة المتسقة لقيمة الترويسة، لذا تُوجَّه الطلبات التي تحمل القيمة نفسها إلى النسخة المتماثلة ذاتها ما دام عدد النسخ المتماثلة لم يتغير. وتُجزَّأ القيمة المختلفة بصورة مستقلة، وقد تُوجَّه إلى النسخة المتماثلة نفسها أو إلى نسخة أخرى، لكن لا يمكنك اختيار *أيّ* نسخة متماثلة تُعيَّن لها قيمة معيّنة.

استخدم اسم مضيف الخدمة الحالي. لا تحتاج إلى أسماء مضيفين مثبتة خاصة أو إلى إجراء تغييرات على DNS. يمكن أن تكون قيمة الترويسة أي سلسلة تختارها، مثل اسم التطبيق أو معرّف المستخدم أو تسمية عبء العمل. وتستمر الطلبات التي لا تتضمن الترويسة في استخدام موازنة التحميل العادية.

عيّن ترويسة `X-ClickHouse-Replica-Tag` في كل طلب:

```bash theme={null}
echo 'SELECT hostName()' | curl \
  -H 'X-ClickHouse-Replica-Tag: my-workload-1' \
  -H 'X-ClickHouse-User: default' \
  -H 'X-ClickHouse-Key: <password>' \
  'https://<host>:8443/' -d @-
```

بالنسبة إلى clickhouse-go (v2)، اضبط `Protocol: clickhouse.HTTP` ومرّر الترويسة عبر [خيار الاتصال `HttpHeaders`](/ar/integrations/language-clients/go/configuration#connection-settings).

<Info>
  توفّر `X-ClickHouse-Replica-Tag` ارتباطًا بنسخة متماثلة محددة دون إنشاء جلسة HTTP في ClickHouse. ويمكن للطلبات المتزامنة إعادة استخدام الوسم نفسه دون ظهور الخطأ `SESSION_IS_LOCKED`.
</Info>

<div id="read-after-write-consistency">
  ### اتساق القراءة بعد الكتابة
</div>

في خدمة تضم عدة نسخ متماثلة، قد لا تظهر الكتابة على إحدى النسخ في النسخ الأخرى إلى أن تلحق بها عملية النسخ المتماثل. أرسل عملية الكتابة مع ترويسة `X-ClickHouse-Replica-Tag`، ثم أعد استخدام قيمة الترويسة نفسها في عمليات القراءة اللاحقة. يوجّه الوكيل العمليتين إلى النسخة المتماثلة نفسها، لذا يمكنك قراءة البيانات التي كتبتها حتى عندما تكون النسخ المتماثلة الأخرى متأخرة. يناسب هذا النمط أعباء العمل التي تكتب البيانات ثم تقرؤها فورًا، مثل التطبيقات التفاعلية أو مهام ETL التي تتحقق من عمليات الإدراج قبل المتابعة.

ولضمانات أوسع عبر جميع النسخ المتماثلة، يمكنك أيضًا ضبط [`select_sequential_consistency`](/ar/reference/settings/session-settings#select_sequential_consistency) على `1` في ClickHouse Cloud.

<div id="check-which-replica">
  ### تحقّق من النسخة المتماثلة التي وصل إليها طلبك
</div>

شغّل مثال `SELECT hostName()` مرة أخرى باستخدام قيمة `X-ClickHouse-Replica-Tag` نفسها. ينبغي أن تحصل على اسم المضيف نفسه ما دام عدد النسخ المتماثلة لم يتغير. وقد تُعيَّن قيمة ترويسة مختلفة إلى نسخة متماثلة مختلفة.

<div id="limitations-of-replica-aware-routing">
  ## قيود التوجيه المراعي للنسخ المتماثلة
</div>

<div id="replica-aware-routing-does-not-guarantee-isolation">
  ### يتغير الثبات عند تغير عدد النسخ المتماثلة
</div>

يغيّر التوسع أو التقليص حلقة تجزئة التوجيه. وقد تُوجَّه الطلبات التي تشترك في قيمة التوجيه نفسها بعد ذلك إلى نسخة متماثلة مختلفة. إذا كنت تعتمد على الجداول المؤقتة أو الإعدادات على مستوى الجلسة، فكن مستعدًا لإعادة إنشائها بعد إعادة التوزيع.

<div id="not-workload-isolation">
  ### التوجيه المراعي للنسخ المتماثلة ليس عزلًا لأعباء العمل
</div>

لا يحدد التوجيه اللاصق سوى *أي* نسخة متماثلة ستعالج الطلب. وقد تظل هذه النسخة المتماثلة تخدم حركة مرور أخرى. للحصول على موارد حوسبة مخصصة، استخدم [فصل الحوسبة-الحوسبة](/ar/products/cloud/features/infrastructure/warehouses).

<div id="private-networking">
  ### الشبكات الخاصة
</div>

يعمل التوجيه المستند إلى HTTP مع [الشبكات الخاصة](/ar/products/cloud/guides/security/connectivity/private-networking) على اسم مضيف الخدمة العادي لديك. ولا تحتاج إلى أي سجلات DNS إضافية.

<div id="replica-aware-routing-requires-http">
  ### يتطلب التوجيه المراعي للنسخ المتماثلة بروتوكول HTTP
</div>

يرتكز التوجيه اللاصق على ترويسة HTTP `X-ClickHouse-Replica-Tag`. لا يحمل البروتوكول الثنائي الأصلي هذه القيمة ليُجري وكيل HTTP `hash` عليها، لذا لا يتوفر التوجيه المراعي للنسخ المتماثلة عبر البروتوكول الأصلي. يجب على برامج العميل التي تستخدم البروتوكول الأصلي نقل عبء العمل المعني إلى واجهة HTTP لاستخدام هذه الميزة.

<div id="troubleshooting">
  ## استكشاف الأخطاء وإصلاحها
</div>

**لا تزال الاستعلامات تُوجَّه إلى نُسخ متماثلة مختلفة رغم استخدام قيمة التوجيه نفسها**

* تأكد من أن كل طلب يتضمن الترويسة `X-ClickHouse-Replica-Tag`.
* تأكد من أن كل طلب يستخدم قيمة التوجيه نفسها تمامًا.
* انتظر قليلًا بعد التفعيل؛ فقد يستغرق سريان التغيير أقل من دقيقة.
* تحقق مما إذا كان عدد النسخ المتماثلة قد تغيّر مؤخرًا؛ إذ يُتوقع حدوث إعادة تعيين للربط بعد التحجيم. استخدم `SELECT hostName()` لاكتشاف الربط الجديد.
