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

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

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

63.5 Boxfuse和亚马逊网络服务

Boxfuse的工作原理是将您的Spring Boot可执行jar或war转换为可以在VirtualBox或AWS上无需部署的最小VM映像。Boxfuse为Spring Boot

提供深度集成,并使用Spring Boot配置文件中的信息自动配置端口和运行状况检查URL。Boxfuse利用这些信息来处理它产生的图像以及它提供

的所有资源(实例,安全组,弹性负载平衡器等)。

创建Boxfuse帐户后,将其连接到您的AWS账户,安装最新版本的Boxfuse客户端,并确保该应用程序是由Maven或Gradle构建的(例如,使

用 mvn clean package ),您可以使用类似于以下内容的命令将您的Spring Boot应用程序部署到AWS:

$ boxfuse run myapp-1.0.jar -env=prod

有关更多选项,请参阅 boxfuse run 文档。如果 boxfuse.conf 当前目录中存在文件,则会考虑该文件。

默认情况下,Boxfuse在启动时激活名为 boxfuse 的Spring个人资料。如果您的可执行jar或war包含一个

application-boxfuse.properties 文件,Boxfuse将其配置基于它包含的属性。

此时, boxfuse 为您的应用程序创建一个映像,上传它,并在AWS上配置和启动必要的资源,从而产生类似于以下示例的输出:

Fusing Image for myapp-1.0.jar ...

Image fused in 00:06.838s (53937 K) -> axelfontaine/myapp:1.0

Creating axelfontaine/myapp ...

Pushing axelfontaine/myapp:1.0 ...

Verifying axelfontaine/myapp:1.0 ...

Creating Elastic IP ...

Mapping myapp-axelfontaine.boxfuse.io to 52.28.233.167 ...

Waiting for AWS to create an AMI for axelfontaine/myapp:1.0 in eu-central-1 (this may take up to 50 seconds) ...

AMI created in 00:23.557s -> ami-d23f38cf

Creating security group boxfuse-sg_axelfontaine/myapp:1.0 ...

Launching t2.micro instance of axelfontaine/myapp:1.0 (ami-d23f38cf) in eu-central-1 ...

Instance launched in 00:30.306s -> i-92ef9f53

Waiting for AWS to boot Instance i-92ef9f53 and Payload to start at http://52.28.235.61/ ...

Payload started in 00:29.266s -> http://52.28.235.61/

Remapping Elastic IP 52.28.233.167 to i-92ef9f53 ...

Waiting 15s for AWS to complete Elastic IP Zero Downtime transition ...

Deployment completed successfully. axelfontaine/myapp:1.0 is up and running at http://myapp-axelfontaine.boxfuse.io/

您的应用程序现在应该在AWS上启动并运行。

请参阅有关在EC2上部署Spring Boot应用程序的博客文章以及Boxfuse Spring启动集成的 文档,以开始使用Maven构建来运行应用程序。

63.6 Google Cloud

Google Cloud有几个选项可用于启动Spring Boot应用程序。最容易上手的可能是App Engine,但您也可以找到在带有Container Engine的容

器中运行Spring Boot或在带有Compute Engine的虚拟机上运行的方法。

要在App Engine中运行,您可以首先在UI中创建项目,该项目为您设置唯一标识符并设置HTTP路由。将Java应用程序添加到项目中并将其留

空,然后使用Google Cloud SDK将Spring Boot应用程序从命令行或CI构建推送到该插槽。

App Engine Standard要求您使用WAR包装。按照 以下步骤 将App Engine Standard应用程序部署到Google Cloud。

或者,App Engine Flex要求您创建一个 app.yaml 文件来描述您的应用所需的资源。通常,您将此文件放在 src/main/appengine 中,它应该

类似于以下文件:

service: default

runtime: java

env: flex

runtime_config:

jdk: openjdk8

handlers:

- url: /.*

script: this field is required, but ignored

manual_scaling:

instances: 1

health_check:

enable_health_check: False

env_variables:

ENCRYPT_KEY: your_encryption_key_here

您可以通过将项目ID添加到构建配置来部署应用程序(例如,使用Maven插件),如以下示例所示:

<plugin>

<groupId>com.google.cloud.tools</groupId>

<artifactId>appengine-maven-plugin</artifactId>

<version>1.3.0</version>

<configuration>

<project>myproject</project>

</configuration>

</plugin>

然后使用 mvn appengine:deploy 进行部署(如果需要先进行身份验证,则构建失败)。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档