我有一组任务,每个任务都需要满足某些特定条件。例如,任务需要 100 Mb 的 RAM 才能执行。我还有多个放置 worker 的服务器。每个 worker 都有一些配置来描述它拥有多少资源。例如,一些工作人员可以使用 1 Gb 的 RAM 来执行任务。
是否有在 worker 之间分配任务的系统,以便每个 worker 满足传递给它的任务的要求?或者也许我可以通过消息代理(例如 RabbitMQ)以某种方式做到这一点?
我知道为此编写自己的应用程序,因为我不想重新发明轮子。
Worker 是用 Go 编写的。
最佳答案
RabbitMQ 并没有明确地知道关于它的客户端的这些事情。它知道那里有多少客户端,队列有多少订阅者等。
但是,您可以按照需要分配任务的方式设置交换。但是,您必须在发布任务之前知道它应该发送给哪个(类型)订阅者。
关于go - 非对等服务器上的分布式计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37963248/