คำแนะนำในการปรับใช้ไฟล์ war เทียบกับ jar ที่ปฏิบัติการได้ด้วยคอนเทนเนอร์แบบฝัง
ดูเหมือนว่าจะมีแนวโน้มในปัจจุบันในพื้นที่จาวาที่จะย้ายออกจากการปรับใช้เว็บแอปพลิเคชัน java ไปยังคอนเทนเนอร์ java servlet (หรือแอปพลิเคชันเซิร์ฟเวอร์) ในรูปแบบไฟล์ war (หรือไฟล์ ear) และแทนที่แอปพลิเคชันเป็น jar ปฏิบัติการด้วย เซิร์ฟเวอร์ servlet / HTTP ที่ฝังตัวเช่นท่าเทียบเรือ และฉันหมายถึงสิ่งนี้มากกว่านั้นในวิธีที่เฟรมเวิร์กรุ่นใหม่มีอิทธิพลต่อวิธีการพัฒนาและปรับใช้แอปพลิเคชันใหม่มากกว่าการส่งมอบแอปพลิเคชันไปยังผู้ใช้ปลายทาง (เพราะตัวอย่างเช่นฉันเข้าใจว่าทำไมเจนกินส์ถึงใช้คอนเทนเนอร์แบบฝังตัวง่ายมากในการหยิบจับ ). ตัวอย่างของเฟรมเวิร์กที่ใช้อ็อพชัน jar ที่เรียกใช้งานได้: Dropwizard , Spring BootและPlay (มันไม่ได้ทำงานบนคอนเทนเนอร์ servlet แต่เซิร์ฟเวอร์ HTTP ถูกฝังอยู่) คำถามของฉันคือมาจากสภาพแวดล้อมที่เราได้ปรับใช้แอปพลิเคชัน (จนถึงจุดนี้ส่วนใหญ่เป็น Struts2) กับแอปพลิเคชันเซิร์ฟเวอร์ Tomcat เดียวต้องมีการเปลี่ยนแปลงแนวทางปฏิบัติที่ดีที่สุดหรือข้อควรพิจารณาอะไรบ้างหากเราวางแผนที่จะใช้แนวทางคอนเทนเนอร์แบบฝัง เหรอ? ขณะนี้เรามีแอปพลิเคชันพื้นบ้านประมาณ 10 รายการที่ทำงานบนเซิร์ฟเวอร์ Tomcat ตัวเดียวและสำหรับแอปพลิเคชันขนาดเล็กเหล่านี้ความสามารถในการแบ่งปันทรัพยากรและจัดการบนเซิร์ฟเวอร์เดียวนั้นดี แอปพลิเคชันของเราไม่ได้มีวัตถุประสงค์เพื่อแจกจ่ายให้กับผู้ใช้ปลายทางเพื่อให้ทำงานภายในสภาพแวดล้อมของพวกเขา อย่างไรก็ตามหากเราตัดสินใจที่จะใช้ประโยชน์จาก java framework ที่ใหม่กว่าแนวทางนี้ควรเปลี่ยนไปหรือไม่? …