提问者:小点点

复杂数据流作业的体系结构


我们正在构建相当复杂的数据流作业,其中计算来自流源的模型。特别是,我们有两个模型共享一堆指标,并且是根据大致相同的数据源计算的。这些作业在稍大的数据集上执行连接。

你对如何设计这种工作有什么指导方针吗?为了做出决策,我们需要考虑任何标准、行为或任何东西吗?

以下是我们想到的几个选项,以及我们如何比较它们:

在一个大型作业中实现所有内容。考虑常见指标,然后计算特定于模型的指标。

    < li >写起来更简单。 < li >作业之间没有依赖关系。 < li >更少的计算资源?
  • 如果一个零件断裂,则无法计算两个模型

将通用度量计算提取到一个专用作业中,从而生成3个作业,使用Pub/Sub连接在一起。

    < li >在其中一个模型作业失败的情况下,恢复能力更强。 < li >可能更容易执行持续更新。
    < li >需要启动所有作业,以便拥有完整的管道:依赖关系管理。


共1个答案

匿名用户

您已经在这里提到了许多关键的权衡——模块化和更小的故障域与操作开销以及单片系统的潜在复杂性。另一点需要注意的是成本——Pub/Sub流量将增加多管道解决方案的价格。

在不知道你的操作细节的情况下,我的建议是选择选项2。听起来有一个模型子集至少是有部分价值的,如果发生关键的bug或回归,你将能够在寻找修复的同时取得部分进展。