Java dosyasında java web uygulamalarını bir java sunucu kapsayıcısına (veya uygulama sunucusuna) bir savaş dosyası biçiminde dağıtmak için mevcut bir eğilim var gibi görünüyor (veya kulak dosyası) ve bunun yerine uygulamayı, iskeleye gömülü bir sunucu/HTTP sunucusu olan yürütülebilir bir jar olarak paketleyin. Demek istediğim, daha yeni çerçeveler, uygulamaların son kullanıcılara nasıl sunulduğundan ziyade yeni uygulamaların nasıl geliştirildiğini ve kullanıldığını etkilemesinde (örneğin, Jenkins'in neden gömülü bir kapsayıcı kullandığını anlayabiliyorum,). Yürütülebilir jar seçeneklerini benimseyen çerçevelere örnekler: Dropwizard, Spring Boot ve Play (bir sunucu kabında çalışmaz, ancak HTTP sunucusu gömülüdür).Yerleşik kapsayıcıyla yürütülebilir dosyalara karşı yürütülebilir dosyalar dağıtımıyla ilgili öneri
Sorum şu ki, (bu noktaya kadar çoğunlukla Struts2) uygulamalarımızı tek bir tomcat uygulama sunucusuna yerleştirdiğimiz bir ortamdan geliyor, eğer kullanmayı planlıyorsak hangi değişiklikler, en iyi uygulamalar veya dikkat edilmesi gerekenler nelerdir? gömülü bir konteyner yaklaşımı? Şu anda, tek bir tomcat sunucu üzerinde çalışan yaklaşık 10 homegrown uygulamaları var ve bu ufacık uygulamalar için kaynakları paylaşmak ve tek bir sunucu üzerinde yönetilen yeteneği iyidir. Uygulamalarımız son kullanıcılara çevrelerinde çalışacak şekilde dağıtılmak üzere tasarlanmamıştır. Ancak, daha yeni bir java çerçevesini kullanmaya karar verirsek, bu yaklaşım değişmeli mi? Bulut dağıtımlarının (ör. Heroku) kullanımının artmasıyla yürütülebilir kavanozlara geçiş gerçekleşmeye mi başlıyor?
Tek bir uygulama sunucusunda, geleneksel Play dosyası dağıtımına göre, Play stili dağıtımında birden çok uygulamayı yönetme deneyiminiz varsa, lütfen içgörünüzü paylaşın.
Cevabınız için teşekkür ederiz, iyi puanlar yazabilirsiniz. Bulut sürüş faktörüdür! Bizim durumumuzda, sadece bir la Google App Engine (Hizmet olarak Platform) uygulamasının dağıtılmasından ziyade, bir bulut sunucusuna bir Amazon sunucusuna sahip olmaktan daha rahat olacağımı düşünmekteyim (Hizmet olarak Platform). eski düşünce okulu. Bu nedenle, paket servisi: Bulutu bir hizmet yolu olarak bir platformda kullanmayı planlamıyorsak, savaş dağıtımları tek bir sunucuda birden çok bağımsız java web uygulamasını yönetmek yerine gitmek için bir yoldur. Girdiğin için tekrar teşekkürler. –
Sadece 2cc: tek bir makinede birden fazla _jar-apps_'ı proxy gibi bazı hafif HTTP sunucularıyla çalıştırabilirsiniz, örneğin: nginx, özel CDN, yük dengeleyici, güvenlik duvarı gibi tipik web trafiği için de kullanılabilir. Büyük trafik planlarken bunu kullanmayı düşünün (daha iyi bir performansa sahip olur, ardından her bir isteği ele alır - ana uygulamanız aracılığıyla statik kaynaklar için bile). – biesior