有流动有流动?

时间:2019-05-15 20:36:24

标签: json rx-java reactive-programming rx-java2

我是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对象上运行:

  • 样本的统计分析;
  • 在航空影像上绘制样本数据;
  • 报告生成;

每个活动都需要Run.json实体中的所有数据,例如runId和项目名称。

我的计划: 我创建了一个基于Jackson的解析器,将run.json文件同步转换为Kotlin实体,并实现了Flowable.generate为订阅者提供可感知背压的Run json实体异步流。

健全性检查: 对于由1到200个文件组成的Flowable run.json文件,我的计划可能会过大。真正的问题是如何流动样品。

所以...

我应该将每个Kotlin Run对象流式传输到每个服务(即,将一个流分成三个流),然后这些服务将可流动地流传输样本吗?这对我来说似乎很有意义,但是我希望能得到更多有经验的人的反馈。

感谢您的关注和时间,

迈克

1 个答案:

答案 0 :(得分:0)

流三个不同的对象会更好,这也取决于用例。其他事情是使用Scheduler io()和Calculation(),io()读取文件,并使用Calculation()处理元素,因为输入大小很大。