Spring Boot微服务生产环境?

时间:2019-03-18 10:14:00

标签: java spring spring-boot deployment

让我们假设应用程序具有10多个Spring Boot微服务。在以下两个选项中,哪种是在生产环境中进行部署的最佳方法?

  1. 通过java -jar xyz.jar运行的每个服务都使用嵌入式服务器吗?

  2. 使用像(Jboss或Tomcat)服务之类的外部应用程序服务器在它们自己的端口上运行 ?

2 个答案:

答案 0 :(得分:3)

推荐的方法使用第一个选项,因为:

  1. 您可以使用任何轻量级的服务器,例如undertow等...
  2. 您可以将其泊坞窗化,并根据需要进行扩展。
  3. 易于维护并节省时间和金钱。

第二个选项有一些限制,例如:

  • 您没有使用Spring Boot自我部署功能。
  • 由于您的应用程序运行速度可能较慢,因此也可以部署多个应用程序。

答案 1 :(得分:2)

通常,如果您使用的是现代基础架构,则首选1,但是没有“最佳方法”进行部署。两种方法都需要权衡:

  1. 为您提供更好的隔离性,当使用容器或PAAS实现时,immutable deployments可以大大提高测试效率。缺点是部署过程更复杂,应该自动化,并且服务器资源消耗更高。

  2. 通常可以简化体系结构,更适合手动部署过程。如果您的组织不赞成Continuous Delivery,那么使用这种方法会容易得多。不利之处在于,随着时间的推移,不同环境(DEV,QAT,PROD)上的应用服务器通常会获得不同的配置设置,从而使测试变得更加困难。