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

منشور من طرف Zevenet | 24 فبراير 2017

نظرة عامة

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

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

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

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

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

ما هو نطاق الويب؟

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

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

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

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

إعداد Zevenet Load Balancer

بإضافة إلى Zevenet Load Balancer يمكننا ضمان توافر عالية وقابلية للتطوير لخوادم التطبيقات. لاحظ أنه ، لمتابعة هذه التعليمات ، سيطلب منك تثبيت مثيل Zevenet Load Balancer والعديد من مثيلات خوادم التطبيقات. البيئة التي سنصفها هي التالية:

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

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

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

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

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

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

الخطوة 1: إنشاء IP الظاهري

بمجرد تثبيت Zevenet 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 لل جبوس و / app3 لل IIS. السياق يمثل تطبيق ويب يعمل داخل مضيف ظاهري معين. في حالة خاصة من IIS، يتم الإشارة سياقات مثل التطبيقات.

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

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

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

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

 

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

لاحظ أن ترتيب الخدمات مهم لمطابقة نمط عنوان 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 '</html>'

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

 

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

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

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

الخطوة 5: الأمان العالي

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

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

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

يتم استخدام حقل ciphers لإنشاء قائمة من الأصفار المقبولة بواسطة اتصالات 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.

مشاركة مع :

وثائق بموجب شروط رخصة جنو للوثائق الحرة.

هل كان المقال مساعدا؟!

مقالات ذات صلة