我正在探索 Azure 平台,但遇到了问题。
其实,有一点我不明白...
我了解网络角色和工作者角色之间的区别。但是如何专门为 Java 应用程序创建一个 Web 角色?
因为在eclipse中为azure开发java应用程序时,我们必须复制/粘贴一个java服务器(我选择了tomcat7)+ jdk。我假设它只是在模拟器中运行 java 应用程序。
但是,将应用程序部署到 azure 作为 webrole 时.....它是仅上传 war 包 + xml 配置文件(cscfg 和其他文件)还是还上传服务器和 jdk ?我尝试使用“Cloud”参数而不是“Emulator”参数来构建项目,它创建了一个 150Mb 的巨大 cspkg 文件……我每次必须更新应用程序时都无法上传 150Mb……
为什么不允许上传 .war 文件?如果我们必须上传服务器分布,那么故障转移和会话复制如何设置?
我可能想念什么...
感谢您的回答
编辑 :
实际上,从我从网上了解到的情况来看,Java 应用程序并不是由 Azure 原生处理的,因此您必须在包内提供自己的应用程序服务器(tomcat、glassfish 等),并且启动脚本将运行服务器里面有你的应用程序。每次要重新部署新包时,都必须上传 jre + 服务器二进制文件 + 应用程序代码。
没有对会话复制或任何东西的内置支持。如果您希望会话在多个实例之间“可共享”,则必须使用表存储服务来存储会话信息。
注意:使用 eclipse,最新的插件允许您设置粘性会话,但我对此一无所知
因此,Java 应用程序不会部署为 webrole,而是部署为工作角色,您可以在其中添加自己的服务器。
Webroles 仅适用于 .NET 和 PHP 应用程序。
如我错了请纠正我。