关于java:学习在云上部署Java应用程序

42次阅读

共计 1592 个字符,预计需要花费 4 分钟才能阅读完成。

依据 Stack Overflow 和 GitHub 的说法,Java 是最罕用的语言之一。Java 虚拟机 (JVM) 为高效运行 Java 应用程序提供了一种成熟的办法。在明天的学习推送中,咱们将首先介绍 Java 应用程序最典型的部署类型,并且依据你须要的部署类型,领导你如何抉择适合的 Azure 服务

应用程序部署类型

你是想要在虚拟机(VM) 上、容器内,还是作为平台即服务 (PaaS) 解决方案来部署应用程序呢?

应用 虚拟机,你所处的环境会相似于本地或传统数据中心环境。Azure 提供一组预配置的 VM,这些 VM 运行主操作系统(Windows 和 Linux),并且你须要配置和保护这些虚拟机。

应用 容器,你依然领有对 VM 的大部分管制,但操作会更少。你能够装置本人的 Java 虚拟机 (JVM) 或某些特定软件,并且你的容器可在本地或任何云供应商上运行。

应用 平台即服务(PaaS)解决方案,大部分保护和操作工作将由云供应商承当。操作系统 (OS) 更新、Java 修补程序、安全性和合乎性都会提供。因而,此选项通常更平安,且老本更低。它还会附带一些可伸缩性性能,这些性能应能让你的应用程序更好地适应客户的需要。借助它还可取得更好的负载下的性能,并在流量较少的状况下降低成本。

▌部署选项

无论你是应用 VM、容器还是平台即服务解决方案,通常都能够通过以下两种形式之一将 Java 应用程序部署到云:

  • 源代码部署:将源代码提交到 Git 存储库,云提供商会运行一个过程,该过程将编译、生成并打包应用程序。
  • JAR、WAR 或 EAR 文件部署:将应用程序打包为可执行的 JAR(Java 存档)文件,但也可能以 WAR(Web 应用程序存档)、EAR(企业应用程序存档)和其余文件格式进行打包。而后,云供应商将运行此可执行文件。

比拟解决方案

▌Azure 应用服务

Azure 应用服务为运行 Java Web 应用程序提供了一种易于应用的服务,其中蕴含主动操作系统和 Java 虚拟机 (JVM) 更新和修补程序,以及主动缩放或监控。应用服务能够运行任何可执行的 JAR 文件(如 Spring Boot 提供的文件),还能够在最罕用的应用程序服务器(如 Apache Tomcat 或 Red Hat JBoss)上部署任何 WAR 应用程序。对于运行简略的 Java 单片应用程序,这是更优抉择。

▌Azure Functions

在 Azure Functions 上运行 Java 应用程序通常须要一些较小配置和设置。从实质上说,无服务器函数将具备较短的生命周期(通常只有几分钟),通常状况下,某个函数通过事件(如 HTTP 申请)唤醒,只在几分钟内放弃“热”状态,之后它会从新进入休眠状态。从实质上讲,无服务器函数须要专门进行编码。它们的性能取决于运行它们的云供应商,并且它们较短的生命周期使得应用传统解决方案(如高速缓存或 HTTP 会话复制)变得复杂。无服务器函数能够很好地进行缩放,并为低使用量环境提供最优价格。同时,它们可能应答要求最高的流量负载。因而,一些传统上会应用的服务可能不如 Azure 应用服务高效或实用。

▌Azure Spring Cloud

Azure Spring Cloud 是一项举世无双的 Azure 服务,它提供了平台即服务解决方案,用于运行 Spring Boot 微服务。Spring Cloud 提供了许多工具,如服务注册表或配置服务器。它还提供了特定的主动缩放和平安机制,可极大地简化基于 Spring Boot 的微服务体系结构的应用。

你还能够应用 Azure Spring Cloud 服务运行其余工作负载,如 Spring Boot 单片应用程序,或甚至是应用 Steeltoe 的 .NET 微服务,但该服务次要用于运行 Spring Boot 微服务。

还有更多解决方案,这里不一一介绍,可返回相干页面浏览。

咱们曾经探讨了用于在云中部署 Java 应用程序的可选项,哪个选项最可能满足你的特定需要呢?欢送持续学习在云上部署 Java 应用程序。

正文完
 0