В распределенной системе есть один экземпляр управления и несколько экземпляров обработки. Экземпляр управления отправляет команды различным экземплярам обработки. Таким образом, узлы обработки должны иметь некоторую логику анализа команд и дополнительную логику для выполнения этих команд.
Пропускная способность важна для экземпляров обработки, поэтому реальный поток данных должен быть как можно меньше затронут.
Существует ли шаблон проектирования или методика программирования, которую я могу использовать для четкого разделения потока данных и управления в экземплярах обработки при сохранении максимально высокой производительности потока данных?
Редактировать:
Общая реализация на данный момент выглядит следующим образом: имеется N потоков обработки, объединенных в пул и один поток управления. По крайней мере, фактически, все они имеют свои собственные структуры данных. Что может сделать управляющий поток, так это изменить фактическую функцию потока. Я рассматриваю шаблоны проектирования как общие, высокоуровневые проекты, которым мне не нужно пристально следовать, но все же меня интересует, существует ли такой высокоуровневый дизайн, который минимизирует нарушение потоков обработки.
Я нацеливаюсь на C ++ 17, если это будет иметь какое-либо значение.
Задача ещё не решена.
Других решений пока нет …