موازنة التحميل والتوافر العالي لخوادم التطبيقات: Tomcat وJboss وIIS

عرض الفئات

موازنة التحميل والتوافر العالي لخوادم التطبيقات: Tomcat وJboss وIIS

9 دقائق للقراءة

نظرة عامة #

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

ما هو التوفر العالي؟ #

التوفر العالي هو جودة النظام أو المكون الذي يضمن مستوى عالٍ من الأداء التشغيلي، عادةً وقت التشغيل، لفترة زمنية أعلى من المعتاد.

عن طريق الإعداد خوادم التطبيق في حالة التوفر العالي، نقوم بحل المشكلات التالية:

  1. يفقد الخادم الواحد الكفاءة عند التعامل مع كمية كبيرة من الطلبات
  2. يتم الاحتفاظ ببيانات الجلسة في حالة فشل الخادم
  3. تحديث التطبيق دون إيقاف الخدمة

ما هو مقياس الويب؟ #

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

ما هو خادم التطبيقات؟ #

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

  1. استخدم هر البرنامج (أو المعروف أيضًا باسم خادم Apache Tomcat أو Tomcat): تطبيق مفتوح المصدر لتقنيات Java Servlet وJavaServer Pages وJava Expression Language وJava WebSocket.
  2. جبوس or ذبابة البرية: خادم التطبيقات الذي طورته شركة Red Hat.
  3. IIS (خدمات معلومات الإنترنت): خادم التطبيقات الذي طورته شركة مايكروسوفت.

اعداد RELIANOID موازن التحميل #

مع RELIANOID موازن التحميل يمكننا ضمان التوفر العالي وقابلية التوسع لخوادم التطبيقات. لاحظ أنه لاتباع هذه التعليمات، ستتم مطالبتك بتثبيت مثيل لـ RELIANOID موازن التحميل والعديد من مثيلات خوادم التطبيقات. البيئة التي سنصفها هي كما يلي:

مخطط خوادم التطبيقات

الخطوة 0: النسخ المتماثل للخادم #

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

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

جبوس يوفر أيضًا طريقة بسيطة لتمكين النسخ المتماثل للجلسة: عن طريق وضع علامة على التطبيق على أنه قابل للتوزيع في ملف web.xml واصف.

النسخ المتماثل للخدمة IIS يمكن تحقيقه باستخدام DFSR (النسخ المتماثل لنظام الملفات الموزعة).

الخطوة 1: إنشاء عنوان IP افتراضي #

Once Spa RELIANOID تم تثبيت Load Balancer، وهو ضروري لإنشاء عنوان IP افتراضي جديد، من القائمة الرئيسية، حدد الشبكة->الواجهات الافتراضية->الإجراءات->إنشاء

ابحث عن الواجهة الفعلية التي تريد إنشاء عنوان IP افتراضي لها

 

اكتب اسم وعنوان IP الافتراضي الجديد الخاص بك. ثم احفظه بالضغط على زر "إنشاء".

الخطوة 2: إنشاء مزرعة http #

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

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

حدد اسمًا و HTTP كملف شخصي. نختار ملف تعريف http لأنه الخيار الأفضل لخدمات الويب حيث يمكننا توفير خيارات تبديل المحتوى ضمن نفس عنوان IP والمنفذ الظاهري.

سيتم عرض خيارين آخرين. حدد عنوان IP الظاهري الذي تم إنشاؤه في الخطوة 1 والمنفذ (في المثال اخترنا 80، لأنه الافتراضي لبروتوكول HTTP) وانقر فوق التوفير .

الخطوة 3: إضافة الخدمات #

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

يمكن تحرير العديد من تفاصيل المزرعة، في المثال سنقوم بتعيين القيم الافتراضية والخدمات.

في لقطة الشاشة أعلاه لدينا تمت إضافة خدمة باسم الخدمة "app1".

 

وبما أننا سنتمكن من الوصول إلى جميع الخدمات الثلاث من خلال نفس المزرعة، فإننا نحتاج إلى التمييز بين هذه الخدمات. للقيام بذلك، يمكننا تعيين قيمة ل نمط URL. يسمح هذا الحقل بتحديد خدمة الويب وفقًا لعنوان URL الذي يطلبه العميل من خلال نمط عنوان URL محدد. في مثالنا، سوف نكتب ^/app1.*, ^/app2.* و ^/app3.*. انقر على عدل لتطبيق التغييرات.

ضع في اعتبارك أن الواجهة الخلفية يجب أن تجد العنوان http://[VIRTUAL_IP]:[PORT]/[YOUR_SERVICE] (في مثالنا http://192.168.56.200/app1)، ولضمان ذلك، يجب إعداد السياق في تطبيقك. في الأمثلة لدينا، سنقوم بإعداد السياق /app1 لـ هر, /app2 لـ Jboss و /app3 لـ IIS. السياق يمثل تطبيق ويب يتم تشغيله ضمن مضيف افتراضي معين. في حالة خاصة من IIS، تتم الإشارة إلى السياقات على أنها تطبيقات.

في هذا المثال، لدينا خادمان خلفيان لكل تطبيق. نختار IP، المنفذ (الافتراضي 8080 لـ هر و جبوسو 80 من أجل IIS)، المهلة والوزن وانقر على حفظ الخلفية .

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

في المعلمات العامة للخدمة، يمكننا الآن تغيير حقل جلسة الثبات إلى ملف تعريف الارتباط: ملف تعريف ارتباط معين

أختار JSESSIONID كمعرف جلسة الثبات لـ Tomcat و Jboss و جلسة الهوية بالنسبة لـ IIS، ثم انقر فوق "تحديث" في أسفل الصفحة.

 

الآن، ضمن نفس المزرعة، يتعين علينا إضافة خدمتين إضافيتين بنفس الطريقة مقارنة بـ app2 لـ app1 وapp2، بما في ذلك ملف تعريف الارتباط الدائم لـ JBoss (يُسمى الإعداد الافتراضي JSESSIONID) وIIS (ملف تعريف الارتباط الافتراضي لـ ASP.NET هو أسبكساوث)، على التوالي ولكن يمكنك استخدام ملف تعريف الارتباط الذي يتطلبه التطبيق. كل خدمة في المزرعة لها واجهاتها الخلفية الخاصة التي يمكن مشاركتها بين المزارع أو خدمات المزارع.

لاحظ أن ترتيب الخدمات مهم لمطابقة نمط عنوان URL الصحيح.

وأخيرا، يجب علينا تطبيق التغييرات عن طريق إعادة تشغيل المزرعة.

تهانينا! لقد قمت بتكوين خوادم التطبيقات الخاصة بك بتوفر عالٍ. يمكنك الوصول إليه عن طريق الكتابة http://[VIRTUAL_IP]:[PORT]/[YOUR_SERVICE] (في مثالنا http://192.168.56.200/app1, http://192.168.56.200/app2 or http://192.168.56.200/app3).

الخطوة 4: الفحص المتقدم #

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

check_http -I HOST -w 10 -c 10 -t 10 -e 200 -p PORT -s ' '

وأخيرًا، انقر على "تحديث" الموجود في أسفل الصفحة.

 

الامر check_http يختبر اتصالات HTTP مع المضيف المحدد. في حالتنا، نستخدم الخيارات التالية:

-أستضيف: سيتم استبدال رمز HOST بعنوان IP الخلفي المحدد.
-w 10: وقت الاستجابة لينتج عنه حالة التحذير: 10 ثوانٍ
-c 10: زمن الاستجابة للحالة الحرجة: 10 ثواني
-t 10: 10 ثوانٍ قبل انتهاء مهلة الاتصال
-ه 200: تتوقع السلسلة 200 في حالة استجابة الخادم
-منفذ: سيتم استبدال منفذ الرمز المميز بمنفذ الواجهة الخلفية المحدد.
-س ' ': السلسلة المتوقعة في المحتوى هي " '

إذن ما سيفعله هذا الأمر هو التحقق بشكل أساسي من أننا حصلنا على استجابة 200 OK، وأن أمر الاستجابة يحتوي على السلسلة " '. نختار هذه السلسلة لأنها في نهاية الرد، وبهذه الطريقة يمكننا ضمان حصولنا على إجابة كاملة من الواجهات الخلفية.

الخطوة 5: إجراءات أمنية مشددة #

يمكن إعداد الاتصالات الآمنة بسهولة RELIANOID موازن التحميل، لذا فإن الخطوة التالية هي تمكين مستمع HTTPS: على تحرير المعلمات العالمية للمزرعة الشاشة، يرجى تغيير مستمع المزرعة من HTTP إلى HTTPS والمنفذ الظاهري إلى 443.

الآن، يمكن الوصول إلى الخدمات عن طريق الكتابة https://[Your_virtual_ip]/[yourappservice] في المتصفح.

يتم الآن تشغيل الاتصالات الآمنة، ولكن يمكننا المضي قدمًا من خلال تكوين معلمات HTTPS: ضمن المعلمات العامة للمزرعة، حدد موقع إعدادات HTTPS قسم. يمكننا تغيير الأصفار إلى حماية عالية.

يتم استخدام حقل الأصفار لإنشاء قائمة بالأصفار المقبولة بواسطة اتصالات SSL من أجل تقوية اتصال SSL. عن طريق اختيار حماية عالية، سنقوم بتعيين الأصفار بشكل افتراضي.

kEECDH+ECDSA+AES128:kEECDH+ECDSA+AES256:kEECDH+AES128:kEECDH+AES256:kEDH+AES128:kEDH+AES256:DES-CBC3-SHA:+SHA:!aNULL:!eNULL:!LOW:!kECDH:!DSS:!MD5:!EXP:!PSK:!SRP:!CAMELLIA:!SEED

خيار آخر هو شهادات HTTPS متاحة: سيتم عرض قائمة الشهادات التي سيتم تحديدها للمزرعة الحالية (فقط لمزارع HTTP، وهذا هو حالنا). يمكننا اختيار واحد من القائمة والنقر عليه إضافة. أخيرا ، انقر فوق عدل وأعد تشغيل المزرعة لتطبيق التغييرات.

لمزيد من المعلومات ، يرجى الاطلاع مزارع ملفات تعريف HTTP.

يمكن أيضًا تمكين HTTPS في خوادم التطبيقات الخاصة بك، إذا كان الأمر كذلك، فيجب عليك تمكين هذا الخيار الواجهات الخلفية لـ HTTPS.

📄 قم بتنزيل هذه الوثيقة بصيغة PDF #

    ُ:البريد الالكتروني *