ilo*_*tie 19 java tomcat jetty spring-boot
在我的例子中,让我们考虑使用Spring Boot创建和配置的简单RESTful服务.该服务与数据库(例如Postgres)通信.
有什么区别:
.jar
文件并通过我的远程公共主机运行它java -jar myservice.jar
?要么
.war
将其打包到文件并在Tomcat/Jetty上部署?第一个选项似乎更容易,你只需要运行一个.jar
.在第二个选项中,您需要创建Tomcat实例,运行它然后部署.war
文件.还有其他区别吗?这两种方法的优缺点是什么?
so-*_*ude 19
将它打包到.war文件并将其部署在Tomcat/Jetty上?
如果可能的话,不要这样做.原因:使用嵌入式tomcat(或任何其他服务器运行时,如下载,网络,码头等),构建微服务架构要容易得多.
正如Josh Long曾在他的一次Spring IO会谈中所说的那样 “make Jar, not War”
另一方面,如果你有一个带有servlet容器的现有基础设施,并且已经有多个application.wars在这些servlet容器中运行,你所要做的就是将你的应用程序打包为war文件并交给它一个发布团队(或者说你被迫只重用现有的基础设施),那就是一个不同的故事......但是,技术世界已经摆脱了这种做法.
再次,本着微服务的精神,本着春天启动的精神,我鼓励你使用嵌入式服务器并制作可运行的jar文件而不是传统的部署.
如果你将你的应用程序停靠在一起,你有2个选项可以将你的tomcat包装在你的"最终工件"中(通过"最终工件",我的意思是泊坞图像,而不是jar.罐子只是一个中间工件).
要么
不过,任何一天,我都会选择第一个选项,因为这样可以使开发过程变得更加容易(而且不言而喻,加入新开发人员会更容易).
归档时间: |
|
查看次数: |
13664 次 |
最近记录: |