【发布时间】:2025-12-09 15:40:01
【问题描述】:
设置
前端机器接收网络请求,将3种不同的任务放入Gearman服务器。
在该 gearman 服务器上注册了 3 台工作机器,每台都可以执行任何这些任务。
不同的任务消耗不同的资源。
每个任务在 cpu/ram/io 消耗方面都不同。
队列中的任务数量远大于工作人员的数量,这意味着每台工作机器向 gearman 注册了多个工作人员实例。
如何动态负载均衡呢
问题在于,一台工作机器可以完成所有 cpu 扩展任务,另一台机器可以获得 i/o 扩展任务,而理想情况下,工作机器可以更好地并行执行所有这些不同类型的任务。
也许 gearman 不是合适的工具?
【问题讨论】:
-
我知道 rabbitmq 有“公平”的平衡,下一个任务会交给表明它是空闲的机器。但是一台机器可以并行执行 3 个任务,每个任务消耗不同类型的资源。
标签: load-balancing message-queue task-queue gearman