تمت ترجمة هذه الوثائق تلقائيًا بواسطة الذكاء الاصطناعي.
قبل نشر تطبيق NocoBase في وضع التجمع (الكلستر)، يجب إكمال المتطلبات الأساسية التالية.
يتطلب تشغيل تطبيق NocoBase في وضع التجمع دعم الإضافات التالية:
| الوظيفة | الإضافة |
|---|---|
| محول التخزين المؤقت | مدمج |
| محول إشارة المزامنة | @nocobase/plugin-pubsub-adapter-redis |
| محول قائمة انتظار الرسائل | @nocobase/plugin-queue-adapter-redis أو @nocobase/plugin-queue-adapter-rabbitmq |
| محول القفل الموزع | @nocobase/plugin-lock-adapter-redis |
| مخصص معرّف العامل (Worker ID) | @nocobase/plugin-workerid-allocator-redis |
أولاً، يرجى التأكد من حصولك على تراخيص الإضافات المذكورة أعلاه (يمكنك شراء تراخيص الإضافات المناسبة عبر منصة خدمات الإضافات التجارية).
يمكن لموظفي العمليات اختيار مكونات النظام الأخرى، بخلاف مثيل التطبيق نفسه، بناءً على احتياجات التشغيل الخاصة بالفريق.
نظرًا لأن وضع التجمع الحالي يستهدف مثيلات التطبيق فقط، فإن قاعدة البيانات تدعم مؤقتًا عقدة واحدة فقط. إذا كان لديك بنية قاعدة بيانات مثل رئيسي-فرعي (master-slave)، فستحتاج إلى تنفيذها بنفسك عبر برمجيات وسيطة والتأكد من أنها شفافة لتطبيق NocoBase.
يعتمد وضع التجمع في NocoBase على بعض البرمجيات الوسيطة لتحقيق الاتصال والتنسيق بين التجمعات، وتشمل:
عندما تستخدم جميع مكونات البرمجيات الوسيطة Redis، يمكنك تشغيل خدمة Redis واحدة ضمن الشبكة الداخلية للتجمع (أو Kubernetes). بدلاً من ذلك، يمكنك تمكين خدمة Redis منفصلة لكل وظيفة (التخزين المؤقت، إشارة المزامنة، قائمة انتظار الرسائل، والقفل الموزع).
توصيات الإصدارات
redis-stack الذي يتضمن ميزة Bloom Filter.يحتاج NocoBase إلى استخدام دليل storage لتخزين الملفات المتعلقة بالنظام. في وضع العقد المتعددة، يجب عليك تحميل قرص سحابي (أو NFS) لدعم الوصول المشترك عبر العقد المتعددة. وإلا، فلن تتم مزامنة التخزين المحلي تلقائيًا، ولن يعمل بشكل صحيح.
عند النشر باستخدام Kubernetes، يرجى الرجوع إلى قسم نشر Kubernetes: التخزين المشترك.
يتطلب وضع التجمع موازن تحميل لتوزيع الطلبات، بالإضافة إلى فحوصات السلامة لمثيلات التطبيق وتجاوز الفشل. يجب اختيار هذا الجزء وتكوينه وفقًا لاحتياجات التشغيل الخاصة بالفريق.
على سبيل المثال، عند استخدام Nginx مستضاف ذاتيًا، أضف المحتوى التالي إلى ملف التكوين:
هذا يعني أن الطلبات يتم توجيهها عكسيًا وتوزيعها على عقد الخادم المختلفة للمعالجة.
بالنسبة لبرمجيات موازنة التحميل الوسيطة التي يقدمها موفرو الخدمات السحابية الآخرون، يرجى الرجوع إلى وثائق التكوين المقدمة من الموفر المحدد.
يجب أن تستخدم جميع العقد في التجمع نفس إعدادات متغيرات البيئة. بالإضافة إلى متغيرات البيئة الأساسية في NocoBase، يجب أيضًا تكوين متغيرات البيئة التالية المتعلقة بالبرمجيات الوسيطة.
عند تشغيل التطبيق على عقدة متعددة النوى، يمكنك تمكين وضع النوى المتعددة للعقدة:
إذا كنت تقوم بنشر pods التطبيق في Kubernetes، يمكنك تجاهل هذا التكوين والتحكم في عدد مثيلات التطبيق من خلال عدد نسخ الـ pod.
نظرًا لأن بعض مجموعات النظام في NocoBase تستخدم معرفات فريدة عالميًا كمفاتيح أساسية، فمن الضروري استخدام مخصص معرّف العامل (Worker ID Allocator) لضمان تخصيص معرّف عامل فريد لكل مثيل تطبيق في التجمع، وبالتالي تجنب مشكلات تعارض المفاتيح الأساسية. النطاق الحالي لمعرّف العامل (Worker ID) المصمم هو 0-31، مما يعني أن التطبيق نفسه يدعم تشغيل ما يصل إلى 32 عقدة في وقت واحد. لمزيد من التفاصيل حول تصميم المعرّف الفريد العالمي، راجع @nocobase/snowflake-id.
عادةً، يمكن لجميع المحولات ذات الصلة استخدام نفس مثيل Redis، ولكن من الأفضل استخدام قواعد بيانات مختلفة لتجنب مشكلات تعارض المفاتيح المحتملة، على سبيل المثال:
حاليًا، تستخدم كل إضافة متغيرات البيئة الخاصة بها المتعلقة بـ Redis. في المستقبل، قد نفكر في توحيد استخدام REDIS_URL كتكوين احتياطي.
إذا كنت تستخدم Kubernetes لإدارة التجمع، يمكنك تكوين متغيرات البيئة المذكورة أعلاه في ConfigMap أو Secret. لمزيد من المحتوى ذي الصلة، يمكنك الرجوع إلى نشر Kubernetes.
بعد اكتمال جميع المتطلبات الأساسية المذكورة أعلاه، يمكنك الانتقال إلى عمليات التشغيل لمتابعة إدارة مثيلات التطبيق.