Представьте себе следующий сценарий: допустим, у вас есть центральный компьютер, который генерирует много данных. Эти данные должны пройти некоторую обработку, которая, к сожалению, занимает больше времени, чем генерация. Чтобы обработка работала в режиме реального времени, мы подключаем больше подчиненных компьютеров.
Кроме того, мы должны учитывать возможность выпадения рабов из сети в середине работы, а также добавления дополнительных рабов. Центральный компьютер должен гарантировать, что все задания завершены, и что задания, отброшенные подчиненным, передаются другому.
Главный вопрос: какой подход я должен использовать для достижения этой цели?
Но, возможно, следующее поможет мне прийти к ответу: есть ли название или шаблон дизайна для того, что я пытаюсь сделать?
Какие области знаний мне нужны для достижения цели, чтобы заставить эти компьютеры общаться друг с другом? (например, будет ли достаточно базы данных, о которой я знаю, или это будет включать сокеты, о которых я еще не знаю?)
Есть ли примеры такой системы? Основной вопрос немного общий, поэтому было бы хорошо иметь отправную точку / контрольную точку.
Заметьте, я предполагаю ограничения c ++ и windows, поэтому решения, направленные в этом направлении, будут оценены.