كتاب/مصدر حول إعداد موازنة التحميل والفشل لتطبيق ويب Java المستند إلى Servlet [مغلق]

StackOverflow https://stackoverflow.com/questions/276623

سؤال

نحن نقوم بإنشاء نظام ويب باستخدام تقنية Java وServlet (في الواقع Wicket لطبقة العرض التقديمي) ونحتاج إلى أن يكون نظامنا متاحًا دائمًا تقريبًا لأن عملائنا سيعتمدون عليه تمامًا.

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

قائمة غير حصرية من الأسئلة التي لدينا في الوقت الراهن:

  • كيف يكون لديك اسم مجال واحد (مثل http://www.google.com) والتي يتم تقديمها فعليًا بواسطة عدة خوادم مع موازنة التحميل لتوزيع المستخدمين؟أليس هناك دائمًا نقطة أضعف في مثل هذا الحل (خادمي DNS [حيث لا يمكن أن يكون هناك المزيد] لـ google.com في حالتهما)؟
  • يبدو أنها فكرة جيدة أن يكون لديك العديد من خوادم قواعد البيانات للتكرار وموازنة التحميل.كيف يتم إعداد ذلك؟
  • إذا تعطل أحد خوادم الويب لدينا، فإننا نرغب في تجاوز الفشل من نوع ما والسماح للمستخدمين باستخدام الخادم الذي لا يزال قيد التشغيل.من بين أمور أخرى، يجب أن تكون الجلسات متزامنة بطريقة ما.كيف يتم إعداد ذلك؟
  • هل نحتاج إلى نوع من المعاملات المتزامنة أيضًا؟
  • هل Amazon Computer Cloud خيار جيد بالنسبة لنا؟كيف نثبته هناك؟هل هناك أي بدائل فعالة من حيث التكلفة؟
  • هل نحتاج إلى التشغيل في حاوية Java EE مثل JBoss أو Glassfish؟
هل كانت مفيدة؟

المحلول

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

دليل التوفر العالي لـ GlassFish:http://www.sun.com/offers/details/glassfish_HAref_config.html

إعداد مجموعة GlassFish في 10 دقائق:http://blogs.Oracle.com/jclingan/entry/glassfish_clustering_in_under_10

جون كلينجان، مدير منتجات مجموعة GlassFish

نصائح أخرى

يحتوي موقع Liferay wiki على دليل التوفر العالي إدخال يحدد بنية يمكن أن تكون بمثابة نقطة انطلاق.

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

تتوفر الكثير من الموارد على الويب بدءًا من وثائق Apache.وهنا عدد قليل:

http://tomcat.apache.org/connectors-doc/reference/workers.html

http://www.redhat.com/docs/manuals/rhaps/jonas-guide/s1-load-balancing.html

http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html

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

هث.

صديق لي يقول ذلك بناء مواقع ويب قابلة للتطوير هو الكتاب النهائي حول هذا الموضوع:

بنيات الإنترنت القابلة للتطوير بقلم ثيو شلوسناجل قد يكون موضع اهتمام أيضًا.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top