هل من الممكن نشر تطبيق .war جديد دون إيقاف التطبيق؟

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

  •  12-09-2019
  •  | 
  •  

سؤال

مهلا، أنا جديد في الشجاعة، وأنا أتساءل عن النشر. بمجرد نشر .war للإنتاج، كيف يمكنني تحديث التطبيق دون توقف؟

هل كانت مفيدة؟

المحلول

حتى لو قمت بنشر ملف الحرب الساخن (من خلال عدم إعادة تشغيل الخادم)، فسيظل هناك بعض الوقت أثناء إعادة تحميل السياق. هذه ليست شيئا ما على هذا النحو، وأكثر من شيء j2ee / servlet.

كما قال Dogbert، الأفضل لوضع صفحة الصيانة (استخدام Apache أمام Tomcat فكرة جيدة) وإيقاف تشغيل خادم التطبيقات، قم بتحميل الحرب الجديدة ثم بدء تشغيل الخادم مرة أخرى.

نصائح أخرى

قد تقوم بإعداد مثيلات Tomcat مع Apache mod_proxy_balancer أمامها، كما هو موضح هنا. وبعد بالنسبة لإعادة نشر التطبيق، قد يتم تطبيق استراتيجية "ترقية الترقية" (على افتراض App1 و App2 هي مثيلات Tomcat الخاصة بك):

  1. تعطيل Tomcat @ app1 في مدير موازن Apache
  2. إعادة نشر التطبيق إلى Tomcat @ App1
  3. قم ببعض الاختبارات مع App1 ومعرفة ما إذا كان كل شيء يعمل
  4. تمكين Tomcat @ App1 في Manoncer-Manager
  5. تعطيل Tomcat @ App2 في موازن مدير
  6. إعادة نشر التطبيق إلى Tomcat @ App2
  7. تمكين Tomcat @ App2 في Manancer-Manager

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

إذا كنت تستخدم Tomcat، فمن الممكن، مع ما يسمى النشر الموازي:

http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#parallel_depluement.

ما عليك سوى اسم ملفات الحرب برقم الإصدار كما هو موضح في DOC:

  • FOO ## 42.war.
  • FOO ## 43.war.

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

كل ما أعرفه هو أنه يمكنك تغيير ملف رائع أو A.GSP One وبعد حفظ التغييرات متوفرة في المتصفح، ولكن إذا كانت هناك أنواع أخرى من الملفات، فأنا لست متأكدا تماما من هذه الميزة.

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