云现在也打动了我。我看的报价越多,就越觉得虚拟操作系统映像是按需加载的。无聊……我在某处读到过这是一个死模型,确实如此。
我对运行使用普通套接字连接的 Java 软件感兴趣,没有 Web 内容或 servlet,没有 REST 和所有那些大规模的过度设计。如果您有一个 IP 地址可以与之通信并说,这里有一份工作给您,那就太完美了。然后我再次访问相同的 IP 并分发下一个作业,但云内部将请求推送到其他节点。如果我理解他们的概念正确的话,我认为 EC2 就是这样做的。但它们也适用于完整的操作系统映像吗?
我想要一个可以部署一些 .jar 文件并可以使用该软件的 2 个或最多 100 个实例的东西。如果需要相互通信,可以通过一些共享文件系统云来完成。这就是云可以做的事情吗?
答案1
我想要一些可以部署 .jar 文件的东西
对于“大规模托管商”来说,这几乎是行不通的。“可以部署 .jar 文件的地方”有点模糊。
EC2(或任何其他云平台)绝对是您所需要的。但您需要注意提交作业是否正确(无论这对您意味着什么)。
它(Amazon 与您的管理工具结合)是否会启动另外 5 台服务器并.jar
在其上放置“工作者”完全取决于您。
EC2 为您提供的实际上是一个环境,可以在其中非常快速地部署某些类型的专门准备的图像。
您还需要考虑安全组。听起来您正在执行 RMI,并且会动态分配其使用的端口,因此请确保根据您的需要有一个安全组(广义上讲:防火墙规则)。
如果您有在本地运行并实现的软件,则下一步将是:
- 学习如何使用 EC2:)
- 创建适合您的软件的 AMI 图像
- 编写一些脚本/代码来管理启动的实例数(EC2 提供了一些自动扩展产品 - 我总是忘记名字 - 可以帮到你)
- 确保您的环境得到妥善保护
- 注意你的预算
- 留意你的预算
- 运行测试以了解您的管理软件是否确实满足您的要求(这里不是工作者部分,这纯粹是关于部署“新服务器” - EC2 术语中的实例)
你的问题很大的空间关于 EC2 部分。仅拥有执行实际工作的软件还不足以实现云的经济高效使用。您需要某种管理(软件)来负责启动实例/再次销毁它们。
答案2
如今,云是一个流行词 - 它实际上取决于提供商如何利用它。对于 Java,我只知道CloudBees 平台即服务解决方案 - 从未使用过,只是读过。可能适合您。