При попытке внедрить конвейер Reliable Services Service Fabric у меня было три подхода на выбор:
И похоже, что C — хороший путь. Подробности здесь.
В этом случае мне нужно реализовать своего рода насос сообщений между рабочими службами.
Например, у меня есть 2 вида рабочих услуг. Первый связан с вводом-выводом и не требует масштабируемости. Второй связан с ЦП, и для него требуется масштабируемость, поэтому он использует секционирование. Меня не волнует, какой именно раздел будет использоваться для обработки конкретного элемента, поэтому насос сообщений должен действовать как балансировщик нагрузки и помещать элемент в очередь для службы, привязанной к ЦП, с минимальным количеством элементов во входной очереди. На данный момент я создал службу с отслеживанием состояния для этой цели.
В этой форме это очень похоже на конвейер потока данных TPL.
Мой вопрос заключается в том, правильно ли я использую Service Fabric? Нет ли здесь чрезмерной инженерии?
Подходят ли Reliable Actors лучше для такого рода конвейеров? (или часть конвейера)