让我们假设应用程序具有10多个Spring Boot微服务。在以下两个选项中,哪种是在生产环境中进行部署的最佳方法?
通过java -jar xyz.jar
运行的每个服务都使用嵌入式服务器吗?
使用像(Jboss或Tomcat)服务之类的外部应用程序服务器在它们自己的端口上运行 ?
答案 0 :(得分:3)
推荐的方法使用第一个选项,因为:
第二个选项有一些限制,例如:
答案 1 :(得分:2)
通常,如果您使用的是现代基础架构,则首选1,但是没有“最佳方法”进行部署。两种方法都需要权衡:
为您提供更好的隔离性,当使用容器或PAAS实现时,immutable deployments可以大大提高测试效率。缺点是部署过程更复杂,应该自动化,并且服务器资源消耗更高。
通常可以简化体系结构,更适合手动部署过程。如果您的组织不赞成Continuous Delivery,那么使用这种方法会容易得多。不利之处在于,随着时间的推移,不同环境(DEV,QAT,PROD)上的应用服务器通常会获得不同的配置设置,从而使测试变得更加困难。