当dyno关闭时,是否有任何Heroku请求队列用于存储请求



我正在使用Heroku作为我的一个业余项目。我遇到了以下问题,如果webhook向Heroku发送请求,而Java应用程序此时重新启动,则请求将丢失。有没有任何本地的Heroku方式或插件可以确保Heroku至少会收到一次请求?

到目前为止,我还没有发现任何东西,默认的解决方案是使用AWS Lambda或谷歌云功能来确保可扩展性和可用性。我觉得这增加了不必要的复杂性,可能还会让维护头疼。

总结:

是否有任何Heroku本机机制或Heroku插件可以确保发送请求?

假设您的Java应用程序重启与dyno重启或部署有关:

您可能想了解Heroku上的预引导功能。

从他们的文件:

Preboot更改了网络dyno的标准dyno启动行为。preboot不是在启动新的网络dynos之前停止现有的一组网络dynos,而是确保在终止现有的网络dyno之前启动新的web dynos(并接收流量(。这有助于实现零停机部署。

@Denis Cornehl的回答帮助很大。我的答案是它的延伸。

如果你有freehobby轮胎,你就没有免费的解决方案。您必须遵循企业集成模式。

我的解决方案是将队列放在应用程序前面,并在应用程序启动时使用消息。即使没有免费队列,一些云提供商也会为大负载提供免费报价。我建议在部署和维护自己的队列之前考虑它们。