Я новичок в RxJava2, и я надеюсь, что кто-то может дать мне проверку работоспособности того, как я планирую реализовать текучий ...
В принципе, мы могли бы иметь массив от 1 до 1000 Runсущности .json, и каждая сущность Run.json имеет два компонента: projectInfo и runInfo.Сущность runInfo имеет массив образцов данных, собираемых во время выполнения.Длина массива будет довольно большой ... от 50000 до 500000 объектов.
[
{
"projectInfo":{
"name":"Abc Def"
},
"runInfo":{
"runId":"abc123",
"samples":[
{
"sensor1":12345.678
}
]
}
}
]
Существует несколько служб, которые будут работать с этими объектами Run.json:
- Статистическиеанализ образцов;
- Рисование данных образца на аэрофотоснимке;
- Создание отчета;
Для каждого из этих действий требуются все данные в прогонеСущность .json, такая как runId и имя проекта.
МОЙ ПЛАН: Я создал синтаксический анализатор на основе Jackson для синхронного преобразования файла run.json в сущность Kotlin и реализовал Flowable.generate, чтобы обеспечитьс поддержкой обратного давления, асинхронный поток запуска сущностей json для подписчиков.
ПРОВЕРКА SANITY: Мой план, вероятно, избыточен для файлов Flowable of run.json, которые будут состоять из 1–200 файлов.Реальная проблема заключается в том, как передавать образцы.
Итак ...
Должен ли я передавать каждый объект Kotlin Run на каждую из служб (т. Е. Разбивать один поток на три потока), иуслуги будут плавно передавать образцы?Это, кажется, имеет смысл для меня, но я был бы признателен за отзывы от более опытных людей.
Спасибо за ваш интерес и время,
Майк