服务器之间的Hangfire负载平衡

问题描述 投票:0回答:1

我有3台Hangfire服务器,它们都连接到同一数据库。每晚一次,我有一个周期性工作,它将触发多个入队工作。

例如,我有服务器A,B和C,在晚上10点,我的重复作业在服务器A上运行,并且排队15个后台作业。但是,所有15个作业将在服务器A上处理。我希望A上有5个作业,B上有5个作业,C上有5个作业。

是否可以像这样平衡负载?

hangfire
1个回答
0
投票

除了将每台服务器上的工作程序数量限制为5个之外,第一个可用的工作程序将继续接替工作。 QueuePollInterval也在其中起作用。如果轮询时间长于您将由一台服务器的工作人员选择的工作。使其过小也可能导致对数据库的过多读取(请注意)。

但是,只要没有资源争用,就应该让服务器以当前行为继续运行。

© www.soinside.com 2019 - 2024. All rights reserved.