Cloud Foundry:Spring boot vs WAR文件

时间:2017-04-07 18:01:59

标签: spring-boot cloud paas

我是Cloud,CloudFoundry,Saas,PaaS,IaaS等世界的新手。

所以我几乎没有什么基本问题。

  • 在使用云代工厂将应用程序或服务部署到云方面,谁是更好的Spring启动或war文件?
  • 为什么?
  • 如果我想在PaaS云上部署我的战争文件,那么谁将其解雇?
  • 在哪里服务器?
  • 我如何知道我的war文件部署到哪个服务器?
  • 是否使用带有嵌入式tomcat的Spring-boot强制执行PaaS?
  • 如果我的应用程序不使用spring-boot(在pom中没有弹簧引用),那么我可以在云上部署应用程序war文件吗?怎么样?

1 个答案:

答案 0 :(得分:1)

在战争或春季启动罐中没有更好的东西。它们都是同一个东西,Spring引导jar管理嵌入其中的服务器而战争没有。

Cloud Foundry有类似BuildPacks的东西。当你进行cf推送时,你需要定义一个buildpack。如果你选择一个java构建包,它就具有在服务器上运行war所需的东西。它获得了运行战争所需的Java,Tomcat服务器和所有其他依赖项。

https://github.com/cloudfoundry/java-buildpack

Cloud Foundry创建了一个Droplet,它基本上是具有所有必需依赖项的执行上下文。这用于在云上运行实际的VM。

你不需要知道你的战争部署到哪个服务器。这是云部署背后的基本思想。它可能位于引擎盖下的单个/多个VM上。所以你需要知道的是一种叫做路线的东西。路线是您的应用的实际地址。你需要创建路由并将它们绑定到你的应用程序,然后可以使用路由访问后来的应用程序。

https://docs.cloudfoundry.org/devguide/deploy-apps/routes-domains.html#routes

Any Cloud PAAS中不强制使用嵌入式服务器。战争可以直接部署。所有PAAS平台都支持此功能。 Cloud Foundry这样做的方法是通过构建包。

CF:https://docs.cloudfoundry.org/buildpacks/

Heroku:https://devcenter.heroku.com/articles/java-webapp-runner

任何普通战争或jar的应用程序/非spring应用程序都可用于在PAAS平台上运行。