前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微服务架构之Spring Boot(八十三)

微服务架构之Spring Boot(八十三)

作者头像
用户1289394
发布2022-05-23 15:47:02
1.1K0
发布2022-05-23 15:47:02
举报
文章被收录于专栏:Java学习网

第六部分。部署Spring Boot应用程序

在部署应用程序时,Spring Boot灵活的打包选项提供了大量选择。您可以将Spring Boot应用程序部署到各种云平台,容器映像(例如

Docker)或虚拟/真实计算机。

本节介绍一些更常见的部署方案。

63.部署到云端

Spring Boot的可执行jar是现成的,适用于大多数流行的云PaaS(平台即服务)提供商。这些提供商往往要求您“自带容器”。它们管理应用程

序进程(而不是Java应用程序),因此它们需要一个中间层,使您的应用程序 适应云的运行过程概念。

两个流行的云提供商Heroku和Cloud Foundry采用“buildpack”方法。buildpack将您部署的代码包装在启动应用程序所需的任何内容中。它

可能是JDK和对 java 的调用,嵌入式Web服务器或完整的应用程序服务器。buildpack是可插拔的,但理想情况下,您应该能够尽可能少地进行

自定义。这减少了不受您控制的功能的占用空间。它最大限度地减少了开发和生产环境之间的差异。

理想情况下,您的应用程序(如Spring Boot可执行jar)具有在其中运行打包所需的所有内容。

在本节中,我们将了解如何在“入门”部分中开发并在云中运行的 简单应用程序。

63.1 Cloud Foundry

如果未指定其他buildpack,Cloud Foundry将提供默认的构建包。Cloud Foundry Java buildpack对Spring应用程序提供了出色的支持,包括

Spring Boot。您可以部署独立的可执行jar应用程序以及传统的 .war 打包应用程序。

构建应用程序(例如,使用 mvn clean package )并安装了 cf 命令行工具后,使用 cf push 命令部署应用程序,将路径替换为已编译的

{12}。/}。安装了 cf 命令行工具后,使用 cf push 命令部署应用程序,将路径替换为已编译的{2759} /}。在推送应用程序之前,请务必 使

用 cf 命令行客户端登录。以下行显示使用 cf push 命令部署应用程序:

$ cf push acloudyspringtime -p target/demo-0.0.1-SNAPSHOT.jar

在前面的示例中,我们将 acloudyspringtime 替换为您提供的任何值 cf 作为应用程序的名称。

有关更多选项,请参阅 cf push 文档。如果 manifest.yml 同一目录中存在Cloud Foundry 文件,则会考虑该文件。

63.1.1绑定到服务

默认情况下,有关正在运行的应用程序的元数据以及服务连接信息将作为环境变量公开给应用程序(例如:$VCAP_SERVICES )。此体系结构决

策归功于Cloud Foundry的多语言(任何语言和平台都可以作为buildpack支持)。进程范围的环境变量与语言无关。

环境变量并不总是适用于最简单的API,因此Spring Boot会自动提取它们并将数据展平为可通过Spring的 Environment 抽象访问的属性,如以

下示例所示:

@Component

class MyBean implements EnvironmentAware {

private String instanceId;

@Override

public void setEnvironment(Environment environment) {

this.instanceId = environment.getProperty("vcap.application.instance_id");

}

// ...

}

所有Cloud Foundry属性都以 vcap 为前缀。您可以使用 vcap 属性来访问应用程序信息(例如应用程序的公共URL)和服务信息(例如数据库凭

据)。有关 完整的详细信息,请参阅 “CloudFoundryVcapEnvironmentPostProcessor” Javadoc。

该Spring云连接器项目是任务,如配置数据源更适合。Spring Boot包括自动配置支持

和 spring-boot-starter-cloud-connectors 启动器。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java学习网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档