Couchbase · حالة استخدام

مخزن الجلسات: إبقاء المستخدمين مسجّلين في وقت الذروة، ومتى يناسب Couchbase

مخزن الجلسات هو قاعدة البيانات التي تحفظ ما يتذكره التطبيق عن المستخدم المسجّل بين طلب وآخر: من هو، ومتى كان آخر نشاط له، وما في سلته. وفي وقت الذروة، حين يخدم تطبيق بنكي أو بوابة حكومية أو متجر إلكتروني أضعاف حركته المعتادة، يحدد مخزن الجلسات هل يبقى المستخدمون مسجّلين أم يعودون إلى صفحة الدخول. يشرح هذا الدليل الخيارات المتاحة، وقرارات التصميم، ومتى يناسب Couchbase ومتى لا يناسب.

الخلاصة للإدارة

  • المشكلة: تعمل التطبيقات اليوم على عدة خوادم. فإذا بقيت حالة الدخول في ذاكرة خادم واحد، خرج المستخدمون عند إعادة تشغيله أو حين يوزّع موازن الحمل الطلبات على غيره.
  • الحل: مخزن جلسات مشترك تقرأ منه كل الخوادم، فتبقى الجلسات بعد إعادة التشغيل ويتوزع الحمل في الذروة.
  • ما يجب تقريره: مدة بقاء الجلسة، وطريقة إنهائها عند الخروج، وما يحدث عند تعطل خادم، وإقامة البيانات، لأن الجلسات تحمل بيانات شخصية.
  • متى يناسب Couchbase: للقنوات كثيفة الاستخدام التي تحتاج إلى انتهاء صلاحية تلقائي ونسخ على عقد أخرى وإمكانية الاستعلام عن الجلسات، في مركز بياناتكم أو على Couchbase Capella داخل السعودية.
  • متى لا يناسب: لتطبيق صغير على خادم واحد، أو لتطبيق لديه مخزن جلسات يتحمل ذروته اليوم.

نظرة سريعة

مخزن الجلسات في نظرة سريعة
السؤالالجواب المختصر
ما الذي يحفظهسجلًا صغيرًا لكل مستخدم أو جهاز مسجّل: الهوية، والصلاحيات، وآخر نشاط، وحالة مؤقتة
كيف يُقرأبمعرّف الجلسة، في كل طلب تقريبًا، فالسرعة في الذروة أهم ما فيه
كم تبقى البياناتمن دقائق إلى ساعات، ويُحذف كل سجل تلقائيًا بعد مهلة خمول أو مهلة قصوى
كلفة العطلغالبًا تسجيل دخول من جديد، وأحيانًا سلة ضائعة أو عملية متوقفة
موقع Couchbaseمخزن مشترك فيه انتهاء صلاحية ونسخ واستعلامات، بالتشغيل الذاتي أو على Capella
من إنتركيمراجعة التصميم، وتحديد الحجم، والبناء، واختبار الحمل، والدعم من الرياض

ما مخزن الجلسات، وما المشكلة التي يحلها

بروتوكول HTTP ينسى المستخدم بعد كل طلب. ولكي يبقى المستخدم مسجّلًا، يعطي التطبيقُ المتصفحَ أو تطبيقَ الجوال معرّفَ جلسة، يُرسل عادةً في ملف تعريف ارتباط (cookie) أو في ترويسة الطلب، ويحفظ السجل المقابل له لدى الخادم. ومع كل طلب يبحث التطبيق عن هذا السجل ليعرف من المتصل وما المسموح له.

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

اقرأ المزيد

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

لماذا يهم مخزن الجلسات لتطبيقات البنوك والبوابات والمتاجر في السعودية

تأتي الحركة في المملكة غالبًا في ذروات حادة: تطبيقات البنوك حول أيام صرف الرواتب وفي ليالي رمضان، والبوابات الحكومية في فترات التسجيل ومواعيدها النهائية، والمتاجر الإلكترونية في مواسم التخفيضات وقبل العيد. وفي هذه اللحظات يكون أكثر المستخدمين مسجّلين في الوقت نفسه، ويكون الخروج المفاجئ من النظام أكثر كلفة.

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

أين يمكن أن تُحفظ حالة الجلسة: الخيارات وما لكل منها وما عليه

لا توجد إجابة واحدة صحيحة لكل الحالات. وكثير من الجهات تجمع خيارين، مثل رمز موقّع قصير المدة للهوية، ومخزن مشترك لكل ما يتغير.

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

قائمة التحقق لتصميم مخزن الجلسات

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

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

كيف يعمل مخزن الجلسات على Couchbase

في Couchbase تكون كل جلسة مستند JSON صغيرًا مفتاحه معرّف الجلسة، داخل مجموعة (collection) مخصصة لها. وتذهب القراءة والكتابة إلى خدمة Data بالمفتاح، وهو مسار المفتاح والقيمة الذي تشرحه صفحة مخزن المفتاح والقيمة، فلا ينتظر البحث عن الجلسة في كل طلب تنفيذَ استعلام.

مهلة الخمول دون مهمة تنظيف. تتيح Couchbase ضبط حد أعلى لمدة البقاء (maxTTL) على المجموعة. ويُعاد تطبيقه افتراضيًا كلما أُنشئ مستند أو عُدّل، فكل تحديث للجلسة يمد عمرها، وهذا هو سلوك مهلة الخمول. ويستخدم توثيق Couchbase نفسه جلسات المستخدمين مثالًا على ذلك. وإذا أردتم أن تمد القراءةُ وحدها عمر الجلسة، فاستخدموا عملية touch في مكتبات Couchbase البرمجية. وتشرح صفحة التخزين المؤقت الموزع متى تُحذف المستندات المنتهية فعليًا.

اقرأ المزيد

المهلة القصوى والخروج. انتهاء الصلاحية يعالج الخمول، أما الحد الأقصى فتاريخ يُحفظ في المستند ويفحصه التطبيق. وعند الخروج يُحذف المستند. ولأن الجلسات مستندات JSON، فإن فهرسًا واستعلامًا بلغة ⁨SQL++⁩ يكفيان للعثور على كل جلسات مستخدم واحد، فيصبح «إخراج هذا العميل من كل الأجهزة» استعلامًا واحدًا لا مسحًا كاملًا.

حفظ دائم أم في الذاكرة فقط. حاوية Couchbase العادية تحفظ الجلسات في الذاكرة وعلى القرص، مع نسخ على عقد أخرى، فلا تُخرج إعادةُ التشغيل المستخدمين. وحين يكون ضياع الجلسات مقبولًا، تحفظها حاوية Ephemeral (واسمها Memory Only في Capella) في الذاكرة فقط. والكتابة العادية تناسب معظم الجلسات، وتنصح Couchbase نفسها بألا تكون الكتابة المؤكدة هي الأصل. وللموقع الثاني ينسخ النسخ المتماثل بين مراكز البيانات (XDCR) الجلسات إلى عنقود التعافي.

متى يناسب مخزن جلسات NoSQL على Couchbase، ومتى لا يناسب

يناسب حين يكون في القناة عدد كبير من المستخدمين المسجّلين في الذروة، وتعمل على عدة خوادم أو حاويات، وتحتاج إلى أن تبقى الجلسات بعد إعادة التشغيل أو تعطل عقدة. ويناسب أكثر حين تحفظ Couchbase بيانات أخرى للقناة نفسها، مثل ملفات العملاء أو كتالوج المنتجات، فيخدم عنقود واحد الاثنين.

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

كيف تساعدكم إنتركي في السعودية

إنتركي شريك تقني لـ Couchbase وتبيع Couchbase Capella. ويعمل Couchbase Server ذاتي التشغيل في مركز بياناتكم داخل المملكة، وحتى نوفمبر 2026 تضم مناطق Capella المنشورة منطقة Google Cloud في الدمام (me-central2)، وتعرض مقارنة Capella والتشغيل الذاتي المناطق وطريقة الاحتساب. ويعمل مهندسونا من الرياض، بالعربية والإنجليزية، ويدعمون العنقود بعد الإطلاق: المهل، والفهارس، والتحويل عند الأعطال، والترقيات. ويخضع الوصول عن بُعد للدعم لشروط يضعها فريق الأمن لديكم.

كيف يسير مشروع مخزن الجلسات

  1. المراجعة.

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

  2. التصميم.

    المفاتيح، والمجموعات، وmaxTTL، والمهلة القصوى، ومسار الخروج والإلغاء، والاختيار بين الحفظ الدائم والذاكرة فقط.

  3. تحديد الحجم والسعر.

    العقد والذاكرة والنسخ على Couchbase Server أو Capella، مع عملنا في بنود مستقلة.

  4. البناء والاختبار.

    العنقود، وإعدادات الأمان، والمراقبة، ثم اختبار حمل بمستوى الذروة المتوقعة وتجربة للتحويل عند العطل.

  5. الانتقال.

    تذهب الجلسات الجديدة إلى المخزن الجديد، وتنتهي القديمة في مكانها، فلا يخرج أحد من النظام.

  6. الدعم.

    دعم من الرياض بعد الإطلاق، وتدريب لفريقكم.

أسئلة يطرحها العملاء

ما مخزن الجلسات في تطبيقات الويب؟

هو قاعدة البيانات المشتركة التي تحفظ سجل كل مستخدم مسجّل لدى الخادم: الهوية، والصلاحيات، وآخر نشاط، والحالة المؤقتة. وتقرأ منه كل خوادم التطبيق بمعرّف الجلسة، فيستطيع أي خادم أن يجيب عن أي طلب، ولا تُخرج إعادةُ التشغيل المستخدمين.

هل نحفظ الجلسات في رموز موقّعة أم في مخزن لدى الخادم؟

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

كيف تُنهي Couchbase الجلسات الخاملة تلقائيًا؟

بضبط حد أعلى لمدة البقاء (maxTTL) على المجموعة التي تحفظ الجلسات. وتعيد Couchbase تطبيقه افتراضيًا مع كل تعديل لمستند الجلسة، فتبقى الجلسات النشطة وتنتهي الخاملة. ويمكن أن تمد القراءة عمر الجلسة بعملية touch. أما المهلة القصوى فتاريخ يفحصه التطبيق.

هل يمكن أن تبقى بيانات مخزن الجلسات لتطبيق بنكي داخل المملكة؟

نعم. يعمل Couchbase Server في مركز بياناتكم داخل السعودية، وحتى نوفمبر 2026 تضم مناطق Couchbase Capella المنشورة منطقة Google Cloud في الدمام. وتحققوا كذلك من وجهة النسخ الاحتياطية والسجلات وطريقة الوصول للدعم، لأن الجلسات تحمل بيانات شخصية.

ما الذي يحدد كلفة مخزن جلسات على Couchbase؟

عدد الجلسات المحفوظة في الذاكرة في الذروة، وحجمها، وعدد النسخ، والحاجة إلى موقع تعافٍ. فهذه تحدد عدد العقد. وتُحتسب Capella لكل عقدة في الساعة، أما Couchbase Server ذاتي التشغيل فاشتراك بعدد عقد الإنتاج. ونسعّر عمل إنتركي في بنود مستقلة.

كم يستغرق نقل الجلسات إلى مخزن جديد دون إخراج المستخدمين؟

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

الخطوة التالية

اطلبوا مراجعة تصميم مخزن الجلسات مع إنتركي

أخبرونا عن القناة (تطبيق بنكي أو بوابة أو متجر إلكتروني)، وعدد المستخدمين المسجّلين في الذروة تقريبًا، والمهل المعمول بها، وهل يجب أن تبقى البيانات داخل المملكة. وسنرد عليكم برأي أولي في الخيارات وبما يشمله تحديد الحجم.

خانة إلزامية

بإرسالك هذا النموذج، فأنت توافق على سياسة الخصوصية.

أو مباشرةً

+966-11-2180999 [email protected]

أبراج التعاونية، البرج الشمالي، الطابق السابع، طريق الملك فهد، العليا، ص.ب. ٥٦٨٣٥، الرياض ١١٥٦٤، المملكة العربية السعودية

أو قارنوا الخيارات

نشرته إنتركي. آخر تحديث . إنتركي مسجلة في الرياض بالسجل التجاري رقم 1010156897.