2016-06-21 3 views
0

Я много читал о MassTransit и экспериментировал с ним. Но у меня есть сценарий, который я не знаю, что MassTransit подходит для него или нет. Я был бы признателен, если бы кто-то с хорошим знанием МТ посоветовал мне в этом вопросе.Обработка файлов с помощью C# и MassTransit

1- Я должен обрабатывать файлы CSV с 5 различными макетами или структурой данных.

2 Каждый файл может иметь миллион строк.

3- Строки должны обрабатываться в порядке (FIFO). Потому что порядок важен.

4- Простая линия состоит из нескольких этапов, таких как получение связанной информации из БД, проверка, вычисление, анализ и сохранение в БД.

5- У меня есть свой собственный линейный объект для прохождения различных шагов в конвейере и не требуется сериализация-десериализация моего объекта линии MassTransit.

6- Я должен иметь возможность отключить мое собственное промежуточное программное обеспечение в конвейере легко.

7- Каждое промежуточное ПО может иметь уникальную конфигурационную информацию.

8- Он должен обрабатывать около 10000 строк в секунду, не тратя время на мои средние с обычным компьютером. Как Intel i7 Quad Core, 8 ГБ оперативной памяти, SSD. Таким образом, пропускная способность должна составлять около 10000 сообщений в секунду.

Is MassTransit подходит для этого сценария?

Например,

, сделав 5 различных услуг клиент-потребитель окон с интеграцией Кварц-MT, поэтому каждый потребитель будет обрабатывать другой файл.

Каждый файл проходит через конвейер в памяти, я добавлю несколько MT-middlewares для своих собственных шагов обработки строк в конвейере и когда все строки будут обработаны, отметьте файл как обработанный и дождитесь появления новых файлов.

Я знаю, что могу потратить неделю на создание прототипа и попытаться проверить его самостоятельно, но я надеялся услышать некоторые советы экспертов, чтобы узнать, правильно ли я использую правильный инструмент.

ответ

0

К сожалению, никто не ответил в последние недели на мой вопрос. Между тем, я сам немного экспериментировал, и я узнал, что MassTransit не подходит для этой работы. Насколько я вижу, есть несколько причин для этого:

1- Производительность, производительность и производительность. Это одно для меня. Я изменил много разных конфигураций, но никогда не получал более 50 строк в секунду! В конфигурации по умолчанию это было даже меньше 5 строк в секунду!

Было всего 5 шагов, и каждый шаг делал только два простых расчета. Точно такие же шаги без MassTransit могут обрабатывать почти 15000 строк в секунду.

2- Сериализация является обязательной и ее невозможно отключить. Думаю, это одна из причин, почему она так медленная.

Этих причин было достаточно, чтобы забыть masstransit и найти другое решение.

 Смежные вопросы

  • Нет связанных вопросов^_^