【问题标题】:Best way to execute java program on server在服务器上执行java程序的最佳方法
【发布时间】:2018-03-24 03:30:13
【问题描述】:

我需要执行一个java模拟程序很长一段时间,几个小时甚至几天,我希望我可以在服务器上完成。 我听说过云计算,我正在寻找一个免费的平台,或者一个非常便宜的平台。

例如,我找到了Oracle Cloud,但我愿意接受任何类型的解决方案。

在链接上部署应用有几点要遵循,看起来有点复杂,还得安装Maven。

您是否认为有更简单的解决方案,或者这可能是我最好的尝试?

我的意思是,我的程序包含几个 .class 文件,我希望我可以很容易地编辑/编译/运行主类,就像使用一种 shell 或 cmd。 不幸的是,我对网络编程知之甚少,所以我不知道这是否可能。

但是,假设我可以启动我的程序,并在很长一段时间后登录,我可以读取结果吗? 或者是否可以写一个文本文件稍后读取结果?

【问题讨论】:

  • 你的主程序会无限期地运行,还是你必须以一定的间隔运行你的程序?
  • 另外,我建议 AWS-Beanstalk 部署您的应用程序(使用 Tomcat)
  • @Sridhar 我的主要方法将无限期运行,直到所有计算完成,我不需要任何时间的计时器或调度
  • 好。您可以使用任何运行 linux 的服务器(物理/云)。您可以将程序编译为可运行的 jar 并在后台运行该 jar。喜欢,java -jar my_app.jar [parameters] &
  • 另外,您可以使用屏幕配置,创建一个新屏幕,运行您的 jar,断开它,并且可以随时恢复以查看进度。

标签: java web server


【解决方案1】:

我希望我可以在服务器上进行。我听说过云计算

一个可能的解决方案是使用AWS Lambda。您只需在 ZIP 文件中提供 Java 代码,它将在“无服务器”环境中运行。这意味着您不必自己设置服务器,AWS 将为您管理一切。

我正在寻找一个免费的平台,或者一个非常便宜的平台。

它不是免费的,但它很便宜:https://aws.amazon.com/lambda/pricing/

但是,假设我可以启动我的程序,并在很长一段时间后登录,我可以读取结果吗?或者是否可以写一个文本文件稍后读取结果?

我不建议将其写入文本文件,而是查看诸如 S3 Buckets 或使用 Kibana 的 Elasticsearch 之类的解决方案

【讨论】:

  • 谢谢,我去看看!
  • 您认为执行时间(因为按秒计费)会与在“普通”笔记本电脑上运行的 jvm 相当,还是需要更多时间?
  • @AeternaAedes 我认为 Lamba 会更快,因为您的笔记本电脑还会运行许多其他东西,这会耗费资源,而 lambda 可能会根据您的需求进行扩展
  • @AeternaAedes 当我学习 lambda 时,这些系列对我帮助很大:youtube.com/watch?v=fSUEk6iMW88 请记住,lambda 界面的 UI 已经改变,所以视频中使用的一些功能现在位于其他地方
猜你喜欢
  • 2018-09-24
  • 2015-09-25
  • 1970-01-01
  • 2016-02-05
  • 1970-01-01
  • 2011-01-14
  • 1970-01-01
  • 1970-01-01
  • 2015-01-27
相关资源
最近更新 更多