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

كيفية استخدام nginx كموازن تحميل

تخدم مواقع المرور الحديثة عالية المرور مئات الآلاف ، وفي بعض الحالات تلتقط الملايين من الطلبات المتزامنة من المستخدمين أو العملاء وإرجاع النص الصحيح أو الصور أو الفيديو أو التطبيقات ، كل ذلك بطريقة سريعة وموثوقة. لتلبية احتياجات هذه المجلدات العالية ، وقوة الحوسبة تحتاج إلى مزيد من الخوادم. مع المزيد من الخوادم ، تحتاج إلى طريقة لتحميل التوازن بين حركة المرور بين هذه الخوادم. في هذا البرنامج التعليمي للمدونة ، سنستكشف ماهية موازن التحميل وكيف يمكننا استخدام Nginx كموازن تحميل. لتكوين موازنة تحميل NGINX كشرط مسبق ، ستحتاج إلى الحصول على مضيفين على الأقل مع برنامج خادم ويب مثبت وتكوينه لمعرفة مزايا موازنة التحميل مع NGINX. إذا كان لديك بالفعل إعداد مضيف ويب واحد ، فقم بتكراره عن طريق إنشاء صورة مخصصة ونشرها على خادم ويب جديد. لذلك ، دعنا نتعلم كيفية إعداد تكوين موازنة Nginx Load Step خطوة بخطوة لخوادم السحابة الخاصة بك.!

Nginx Web Server

Nginx هو خادم ويب مفتوح المصدر. بالإضافة إلى إمكانيات خادم HTTP الخاصة بها ، يمكن لـ NGINX أيضًا العمل كخادم وكيل للبريد الإلكتروني (IMAP و POP3 و SMTP) وكيل عكسي ولتحميل NGINX لتوازن الخوادم HTTP و TCP و UDP. إنه يحسن أداء تطبيقاتك وموثوقيتها وأمنها. إنه شائع لمجموعة الميزات الغنية ، والتكوين البسيط ، واستهلاك الموارد المنخفض. كيف يعمل Nginx؟ يستخدم Nginx بشكل شائع كموازن تحميل الوكيل العكسي Nginx كنقطة إدخال واحدة لتطبيق ويب موزع يعمل على خوادم منفصلة متعددة. يستخدم نهجًا غير متزامن يحركه الأحداث لتقديم استخدام منخفض الذاكرة والتزامن عالي. يمكنك قراءة المزيد حول Nginx هنا.

تحميل الموازن

موازنة التحميل هي عملية توزيع حركة مرور الشبكة عبر خوادم متعددة. و “البرنامج” أو “الأجهزة” التي تؤدي عملية التوزيع هذه تسمى Load Balancer. يشبه موازن التحميل “شرطي حركة المرور” يقف أمام الخوادم وتوجيه طلبات عميله عبر جميع الخوادم. إنه يؤكد أن طلبك يظل عمليًا حتى لو سقط أحد الخوادم.

nginx كموازن تحميل

تتبع الوظائف الرئيسية لموازن التحميل:

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

إعداد nginx كموازن تحميل

قبل إعداد موازنة تحميل Nginx Round Robin ، يجب أن تكون مثبتًا على Nginx على الخادم الخاص بك. يمكنك تثبيته بسرعة مع APT-GET:

sudo apt-get install nginx

من أجل إعداد موازن تحميل Robin Robin ، سنحتاج إلى استخدام وحدة Nginx Upstream. سنقوم بتحديث تكوين موازن Nginx Load في إعدادات Nginx. دعونا نفتح تكوين موقع الويب الخاص بك. من أجل هذا المثال ، أستخدم ملف التكوين الافتراضي

sudo vi /etc/nginx/sites-available/default

نحتاج إلى إضافة تكوين موازنة التحميل إلى الملف لتكوين موازن التحميل مع NGINX. أولاً ، نحتاج إلى تضمين الوحدة النمطية لموازنة تحميل NGINX في المنبع والتي تبدو هكذا:

upstream backend  {
  server backend1.example.com;
  server backend2.example.com;
  server backend3.example.com;
}

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

server {
  location / {
    proxy_pass  http://backend;
  }
}

إعادة تشغيل nginx

sudo service nginx restart

طالما أن لديك جميع الخوادم الموجودة في مكانها ، يجب أن تجد الآن أن Nginx Open Source Balancer سيبدأ في توزيع الزوار على الخوادم بالتساوي. يسمى هذا التوزيع المتساوي موازنة تحميل Robin.

توجيهات المنبع

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

وزن

تتمثل إحدى طرق البدء في تخصيص المستخدمين للخوادم ذات الدقة المزيد من تخصيص وزن محدد لبعض الآلات. يتيح لنا Nginx تعيين رقم يحدد نسبة حركة المرور التي يجب توجيهها إلى كل خادم. قد يبدو هذا الإعداد المتوازن الذي يتضمن وزن الخادم مثل هذا:

upstream backend  {
  server backend1.example.com weight=1;
  server backend2.example.com weight=2;
  server backend3.example.com weight=4;
}

الوزن الافتراضي هو 1. مع وزن 2 ، Backend2. سيتم إرسال example ضعف عدد حركة المرور مثل الخلفية 1 ، وسيتعامل Backend3 ، مع 4 1.

التجزئة

يسمح IP Hash الخوادم بالرد على العملاء وفقًا لعنوان IP الخاص بهم ، مما يعيد الزوار إلى نفس VPs في كل مرة يزورون فيها (ما لم ينخفض ​​هذا الخادم). إذا كان من المعروف أن الخادم غير نشط ، فيجب وضع علامة على أنه أسفل. ثم يتم توجيه جميع IPs التي كان من المفترض أن توجه إلى الخادم لأسفل إلى واحد بديل. يوفر التكوين أدناه مثالاً:

upstream backend {
  ip_hash;
  server   backend1.example.com;
  server   backend2.example.com;
  server   backend3.example.com  down;
 }

Max فشل

وفقًا لإعدادات Round-Robin الافتراضية ، سيستمر موازن تحميل تطبيق Nginx في إرسال البيانات إلى الخوادم الخاصة الافتراضية ، حتى لو لم تستجب الخوادم. يمكن لـ Max Fails منع ذلك تلقائيًا عن طريق تقديم خوادم غير مستجيبة غير صالحة للعمل لفترة زمنية محددة. هناك عاملان مرتبطان بـ MAX يفشلان: Max \ _fails و Fall \ _timeout. يشير Max Fails إلى الحد الأقصى لعدد المحاولات الفاشلة للاتصال بخادم يجب أن يحدث قبل اعتباره غير نشط. يحدد Fall_timeout طول ذلك الخادم غير فعال. بمجرد انتهاء الوقت ، ستبدأ محاولات جديدة للوصول إلى الخادم مرة أخرى. قيمة المهلة الافتراضية هي 10 ثوان. قد يبدو تكوين عينة هكذا:

upstream backend  {
  server backend1.example.com max_fails=3  fail_timeout=15s;
  server backend2.example.com weight=2;
  server backend3.example.com weight=4;
}

خاتمة:

في هذا البرنامج التعليمي لتحميل Nginx ، تعلمنا عن NGNIX ، وموازنة التحميل ، وكيفية إعداد Nginx Load Balancer لتوزيع حركة المرور على خوادم متعددة. لقد استكشفنا أيضًا خوارزميات موازنة التحميل المختلفة مثل Round-Robin و Hash و Max Fails. إذا كنت تقوم بتشغيل تطبيق ذو حجم كبير وتحتاج إلى توزيع الحمل عبر خوادم مختلفة ، فإن Nginx هو أحد أفضل الخيارات لك. والأهم من ذلك أنه خادم ويب مجاني ومفتوح المصدر بنسبة 100 ٪. _ يمكنك الانضمام إلينا على Twitter ، LinkedIn وصفحة Facebook. ما هو موازن التحميل القوي الآخر لتحسين توافر موارد الخوادم وكفاءتك __de you __؟ . إذا كان لديك أي أسئلة أو ملاحظات ، يرجى _ الاتصال.

يستكشف

قد تجد المقالات الأكثر ارتباطًا أدناه