我有兴趣为 Heroku 中特定类型的每个工作人员分配不同的工作负载。工作负载是连续的而不是离散的,因此工作队列是不合适的。我可以通过数据库或 Zookeeper 来协调工作,但这些都会带来复杂性和可靠性问题。
我知道 Heroku dynos 被分配了类似的名称,worker.1
但我很好奇这些名称是如何分配的,以及我是否可以依靠它们来获得某些属性。我只对 worker dynos 的行为感兴趣,因为 web preboot 可能会改变 web dynos 的行为。
具体来说,
- 两个测功机是否有可能同时具有相同的名称/编号(我假设不适用于工作进程,因为前一个应该关闭或在新的启动之前失败)
- 如果
ps:scale
我的工人是n
,我可以依靠测功机名称worker.1
,worker.2
......worker.n
或者我有时会在外面得到数字(1, n)
吗?如果有可能(1, n)
在什么情况下可以在外面获得数字?
我希望创建一个将工人编号映射到工作分配的配置,因此我将依赖工人编号恰好是 1 到 n。