我有一个小型的java spring网络应用程序托管在openshift入门程序(免费计划)中,但它们将使60天后https://blog.openshift.com/changes-to-openshift-online-starter-tier/后的免费帐户过期
我正在尝试找到一个免费平台来托管我的应用程序,并且我已经找到了Heroku,但我不知道它是否合适(请不要难,我只是想知道heroku的情况如何可以!)。
目前,我有一个Wildfly服务器和一个运行在1个Pod中的mysql数据库。 Heroku免费计划(https://www.heroku.com/free)表示每个应用程序有1个Web dyno。 Web dyno是否覆盖Web服务器和数据库?使用数据库https://devcenter.heroku.com/articles/getting-started-with-java#use-a-database
时,我没有发现有关dynos的任何信息此外,我的应用程序每小时都有一个石英作业。它基本上称为Web服务,获取信息并在bbdd中生成统计信息。我已经看到Heroku应用程序在闲置30分钟后会自动休眠。这对我的应用有何影响?似乎应用程序会随着Web请求唤醒,但是后台任务呢?我需要将石英工作转移到工人测功机上吗?似乎工人测功机没有睡觉,但是……他们是仅在执行时消耗测功时(每小时3分钟)还是在空闲时消耗测功时(24/7)?
如果经过验证的帐户每月有1000个小时,并且该应用仅消耗1次Web dyno,则无需让应用进入睡眠状态,对吗?仅使用1个dyno,一个月应该少于750小时。有什么方法可以使应用程序保持活动状态?
此外,当应用程序休眠时会涉及什么?每次唤醒时都会更改应用程序IP吗?
对不起,如果其中有些是新手问题,请提前感谢!
答案 0 :(得分:1)
我将尝试一个接一个地解决您的问题。
Heroku免费计划(https://www.heroku.com/free)表示您有1个 每个应用程式的网路测功机。网络测功机是否涵盖网络服务器和 数据库?
否-否。 Heroku提供了一些附加组件,您可以为您的应用程序提供附加组件,see here用于MySQL附加组件。了解如何添加/使用它们here.
此外,我的应用程序每小时都有一个石英作业。它基本上称为 webservice,获取信息并在bbdd中生成统计信息。我有 看到Heroku应用在闲置30分钟后会自动休眠。 这对我的应用有何影响?
这意味着,如果您收到一个服务请求(并且服务器尚未预热),则将消耗30分钟的动态时间。每30分钟仅 1个请求唤醒服务器不是很有效,但这就是系统。
似乎应用程序会随着网络请求而唤醒, 但是后台任务呢?我需要将石英作业移到 工人dyno?
您应该将工作转移到工人dyno上。查看更多:https://devcenter.heroku.com/articles/free-dyno-hours
似乎工人测功机没有睡觉,但是...是吗 仅在执行时消耗dyno小时(每次3分钟) 小时)还是在闲置时也要消耗动态时间(24/7)?
这是不正确的。 Computing usage is calculated from the wall-clock time and not CPU time-只要您的辅助角色正在运行(它将一直运行),您就在消耗dyno小时。
如果经过验证的帐户每月有1000个小时,并且该应用仅消耗 1次Web dyno,则无需让应用程序进入睡眠状态,对吗?一 仅使用1个dyno,一个月应少于750小时。有没有 保持应用程序存活的方法?
您现在谈论的是2台dynos,1个web和1个worker。使用这种配置,即使您是经过验证的帐户,想要保持24/7全天候运行,免费套餐还是不够的。