首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure : Java webrole

Azure : Java webrole
EN

Stack Overflow用户
提问于 2012-02-05 15:57:29
回答 2查看 1.5K关注 0票数 1

我在探索Azure平台,但我遇到了一些问题。

实际上有些事我不明白..。

我理解网络角色和员工角色之间的区别。但是,如何具体地为Java应用程序创建web角色呢?

因为在eclipse中为azure开发java应用程序时,我们必须复制/粘贴一个java服务器(我学到了tomcat7) + jdk。我猜想它只是在模拟器中运行java应用程序。

但是,当将应用程序作为webrole.....Does部署到azure时,它只上传war包+ xml配置文件(cscfg等),还是也上载服务器和jdk?我试着用"Cloud“参数而不是”仿真器“参数来构建这个项目,它创建了一个150 it的巨大cspkg文件.我真的不能在每次更新应用程序的时候上传150‘t.

为什么不允许上传一个.war文件呢?如果我们必须上载服务器发行版,那么故障转移和会话复制是如何设置的?

我可能错过了什么..。

谢谢你的回答

编辑:

实际上,从我从web上看到的情况来看,java应用程序不是由Azure本地处理的,所以您必须提供自己的应用服务器(tomcat、glassfish等)。在包中,启动脚本将运行服务器与您的应用程序在里面。每次要重新部署新包时,都必须上载jre +服务器二进制文件+应用程序代码。

不支持会话复制或其他任何内容。如果希望在多个实例之间“共享”会话,则必须使用表存储服务来存储会话信息。

注意:使用eclipse,最新的插件允许您设置粘性会话,但我不知道更多关于它的信息。

因此,java应用程序不是作为webrole部署的,而是作为添加自己服务器的工作角色部署的。

Webroles只适用于.NET和PHP应用程序。

如果我错了就纠正我。

EN

回答 2

Stack Overflow用户

发布于 2012-02-05 23:05:57

你是正确的。通常,您也可以在web角色中运行java/Tomcat,但是在web角色中,IIS中必须至少有一个站点(不要将端口80绑定到此站点,因为IIS和Tomcat不能共享TCP端口)。

你应该试试Azure VM角色。在这个场景中,您使用所有系统需求(JRE、Tomcat、.)在本地创建虚拟macine。您将此虚拟映像上传到Azure,作为VM角色的模板。现在,您只能上传应用程序文件。

您还可以通过从Blob存储下载和解压缩JRE和Tomcat的starup任务来加快上载/部署过程。Azure Bootstrapper可以帮你。

票数 1
EN

Stack Overflow用户

发布于 2012-02-06 10:13:52

谢谢你们的回答,伙计们。

这带来了另一个问题:当部署java包的新版本时,“幕后”会发生什么?

让我们想象一下tomcat发布了一个主要的安全修补程序,您需要使用tomcat的新版本,要么将它嵌入cspkg (heavyyyyy),要么如您(David)所建议的那样,将其存储在blob (light!)中!当然,java代码几乎没有更新。在已经运行的实例上部署此包。

他们怎么了?他们会用新的包重新启动吗?它会产生新的实例并终止当前的运行吗?它是否在每个实例中杀死正在运行的应用程序服务器,并在新包中运行新的应用程序服务器?(非持久的)本地存储(如果用作廉价的缓存)会发生什么?在使用中的会话会发生什么(如果它们不是存储在blob中而是只存储在内存中)?

Azure内部是否有不同java服务器的基准/比较表?(内存占用、并发连接等)

我的问题可能看起来很奇怪,但我目前正在使用(并且愿意迁移到Azure),我唯一需要做的部署/更新应用程序的操作就是单击eclipse中的Deploy按钮。因此,目前的情况仍然相当混乱。但事实上,你必须上传你自己的jre和你自己的应用服务器,这增加了很多自由。它在IaaS中引入了一段PaaS。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9150617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档