У меня есть существующая среда распределенных вычислений, построенная на основе MassTransit и RabbitMQ. По сути, есть менеджер, который отвечает работой на основе запросов. Каждый рабочий возьмет определенное количество предметов в зависимости от характеристик физической машины. Затем рабочий отправляет сообщения о завершении, когда все готово. Он работает довольно хорошо и кажется хорошо масштабируемым, поскольку единственным связующим звеном является служебная шина.
Недавно я оценил Akka.Net, чтобы посмотреть, будет ли это более простой системой для реализации того же шаблона. Посмотрев на него, я был несколько озадачен тем, для чего именно он используется. Кажется, что если бы я хотел сделать что-то подобное, менеджер должен был бы знать о каждом воркере заранее и напрямую отправлять ему работу.
Я считаю, что что-то упускаю, потому что эта модель, похоже, плохо масштабируется.