我的应用程序在一天的不同时间可能会因各种因素而负载急剧增加。
在这些时间,我希望自动增加dynos数量。
我想根据负载时间来增加数量。如果页面加载需要X时间,则增加dynos数量。否则,就减少数量。
是否存在类似的解决方案?
HireFire 能够根据各种度量标准自动缩放 Web 和 Worker dynos。我们目前支持以下度量源/类型:
HireFire(响应时间) 执行基本的 HTTP 请求,以测量响应时间。
HireFire(作业队列) 允许您根据工作队列大小自动缩放 Worker dynos。您将在您的端点上设置一个非常简单的端点(我们有一个 RubyGem 可以做到这一点,但是任何语言和任何库都可以轻松完成)。我们会定期进行检查,并相应地缩放您的工作人员的形成。
New Relic 允许您与 New Relic 集成。它将定期获取最新的度量标准数据,如平均响应时间、每分钟请求数和 Apdex,以确定您的 Web dyno 形成。
Heroku Logplex 是我们最新的添加功能。这种方法依赖于您(和 Heroku)的日志。您的日志将从 Heroku 的 Logplex 流式传输到 HireFire 的 Logdrain,然后将被解析为度量标准数据。与 HireFire/ResponseTime 相比,这使您能够更可靠地自动缩放 Web dynos,因为它直接从 Heroku 的路由器中获取数据。此方法也不需要任何外部依赖,如 New Relic。
如果您有任何问题,请随时联系我们!
看起来 heroku-autoscale
是一个不错的选择。