当前位置: 首页 > 后端技术 > Java

学习在云上部署Java应用程序

时间:2023-04-01 13:36:21 Java

根据StackOverflow和GitHub,Java是最常用的语言之一。Java虚拟机(JVM)提供了一种经过验证的有效运行Java应用程序的方法。在今天的学习推送中,我们将首先介绍最典型的Java应用部署类型,并指导大家如何根据自己需要的部署类型选择合适的Azure服务。应用程序部署类型您是想将应用程序部署在虚拟机(VM)上、容器内还是作为平台即服务(PaaS)解决方案?使用虚拟机,您所处的环境类似于本地或传统数据中心环境。Azure提供一组预配置的VM,运行您需要配置和维护的主要操作系统(Windows和Linux)。使用容器,您仍然拥有对VM的大部分控制权,但操作更少。您可以安装自己的Java虚拟机(JVM)或某些特定软件,您的容器可以在本地或任何云提供商上运行。使用平台即服务(PaaS)解决方案,大多数维护和操作任务将由云提供商承担。提供操作系统(OS)更新、Java补丁、安全性和合规性。因此,此选项通常更安全且成本更低。它还具有一些可扩展性功能,可以让您的应用程序更好地适应客户的需求。它还可以在负载下实现更好的性能,并在流量较少时降低成本。▌部署选项无论您使用VM、容器还是平台即服务解决方案,您通常可以通过以下两种方式之一将Java应用程序部署到云端:源代码部署:将源代码提交到Git存储库,由云端。商会运行一个编译、构建和打包应用程序的过程。JAR、WAR或EAR文件部署:将应用程序打包为可执行JAR(Java存档)文件,但也可以打包为WAR(Web应用程序存档)、EAR(企业应用程序存档)和其他文件格式。然后云提供商将运行这个可执行文件。比较解决方案▌Azure应用服务Azure应用服务提供了一种易于使用的服务,用于运行具有自动操作系统和Java虚拟机(JVM)更新和补丁以及自动缩放或监视的JavaWeb应用程序。AppService可以运行任何可执行的JAR文件,例如SpringBoot提供的JAR文件,并且可以在最常用的应用服务器上部署任何WAR应用程序,例如ApacheTomcat或RedHatJBoss。这是运行简单的Java整体应用程序的更好选择。▌AzureFunctions在AzureFunctions上运行Java应用程序通常需要一些小的配置和设置。从本质上讲,无服务器函数的生命周期很短(通常只有几分钟),并且通常一个函数通过事件(例如HTTP请求)唤醒并且只保持“温暖”几分钟,之后它会返回睡觉。本质上,无服务器功能需要专门的编码。它们的功能取决于运行它们的云提供商,而且它们的生命周期短使得缓存或HTTP会话复制等传统解决方案的使用变得复杂。无服务器功能可以很好地扩展,并为低容量环境提供最优惠的价格。同时,它们能够处理最苛刻的交通负载。因此,一些传统上使用的服务可能不如Azure应用服务高效或有用。▌AzureSpringCloudAzureSpringCloud是一项独特的Azure服务,为运行SpringBoot微服务提供平台即服务解决方案。SpringCloud提供了许多工具,例如服务注册中心或配置服务器。它还提供特定的自动缩放和安全机制,极大地简化了基于SpringBoot的微服务架构的使用。您还可以使用AzureSpringCloudService运行其他工作负载,例如SpringBoot单体应用程序,甚至使用Steeltoe的.NET微服务,但该服务主要用于运行SpringBoot微服务。解决方案还有很多,这里就不一一介绍了,可以去相关页面看看。既然我们已经讨论了在云中部署Java应用程序的选项,那么哪个选项最有可能满足您的特定需求?欢迎继续学习在云端部署Java应用程序。