【发布时间】:2018-06-12 10:54:22
【问题描述】:
在标准的微服务架构中,每个服务都对自己的数据负责,并设置了边界。处理这些数据的唯一方法是通过服务提供的 RESTful 端点。
我有一个独特的案例,我希望运行一些集群的爬虫进程,用原始数据填充一个表。这些抓取过程也可以针对特定情况进行配置,比如一个抓取文本、一个抓取图像等。
然后,原始数据将被另一个进程使用并聚合到另一个表中的规范化结构中。我想将所有这些流程拆分为可部署的小型组件,但这意味着我必须以某种方式在多个存储库/项目之间共享模型定义,因为聚合逻辑必须消耗所有原始数据。
聚合逻辑可能会向每个集群爬虫进程发出请求,但其状态控制会比仅查询表复杂得多。
我知道可以在隔离的 repo 中定义模型定义,然后作为依赖项导入其他项目,但这是正确的架构吗?
【问题讨论】:
标签: node.js database postgresql knex.js objection.js