依赖实体处理的库或框架推荐

Posted

技术标签:

【中文标题】依赖实体处理的库或框架推荐【英文标题】:Library or Framework recommendation for dependent entity processing 【发布时间】:2021-09-24 10:19:00 【问题描述】:

我有一批来自服务的数据。数据需要按照它们相互依赖的顺序进行处理。我想了解在 Java 中处理此问题的最佳实践和方法。

例子:

进入系统的管理器批次(M1、M2...)。同时我们还得到了一批员工(E1,E2...)和他们的地址(A1,A2..)。 地址只有在其链接到的员工已被处理后才能被处理。同样,只有在处理了与其关联的经理后,才能处理员工。 地址 A1、员工 E1 和经理 M1 的一般处理顺序为 M1 -> E1 -> A1
               ────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬────┬──────────
                   │     │     │     │     │     │     │     │    │
         xx  xx  xx│ M1  │  M2 │  M3 │  M4 │  M5 │  M6 │  M7 │  M8│   xx xx xx
                   │     │     │     │     │     │     │     │    │
              ─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴────┴───────────

        ─────────┬──────┬─────┬─────┬────┬─────┬────┬────┬────────
                 │      │     │     │    │     │    │    │
        xx  xx xx│  E1  │  E2 │  E3 │ E4 │  E5 │ E6 │ E7 │xx xx xx
                 │      │     │     │    │     │    │    │
        ─────────┴──────┴─────┴─────┴────┴─────┴────┴────┴────────

 ───────┬─────┬────┬────┬────┬────┬────┬────┬────┬────┬──────
        │     │    │    │    │    │    │    │    │    │
xx xx xx│  A1 │ A2 │ A3 │ A4 │ A5 │ A6 │ A7 │ A7 │ A8 │xx xx xx
        │     │    │    │    │    │    │    │    │    │
 ───────┴─────┴────┴────┴────┴────┴────┴────┴────┴────┴──────

【问题讨论】:

你应该试试 Reactive Streams 的实现,比如 RxJava 或 Spring Reactor... 感谢@RafaelGuillen。这就是我现在所拥有的。正在寻找是否有更好的解决方案/框架等。 【参考方案1】:

如果可以(并且几乎在所有情况下都可以),我会考虑"eventual consistency"。

也就是说,我认为:

数据需要按照相互依赖的顺序进行处理。

这不是真的。您应该与您的团队一起质疑这一说法,直到它落空为止(在非常非常罕见的情况下,这是正确的)。

如果您的数据不以“硬”的方式相互依赖,这将使您的生活更轻松。

按照您描述域的方式,无论如何您都必须有一个连接属性(id 或其他东西)。所以:

随时导入经理、员工和地址 在观察时刻(每当需要访问数据时)仅考虑提供经理、员工和地址的数据集或 编写一个作业,将数据集从最终一致性复制到一致的数据结构中,您只需忽略尚未完成的所有内容 如果您非常整洁,请编写一个作业,清空所有尚无父条目的依赖结构(地址、员工)。

【讨论】:

感谢您的评论。这将是一个理想的用例,您可以控制所有处理数据的系统。当您的中间件使用现有的内部和外部 API 来保存这些数据时,这是一个困难的提议。此类系统的任何客户端都必须遵循设置的流程,了解如何调用以保存数据。

以上是关于依赖实体处理的库或框架推荐的主要内容,如果未能解决你的问题,请参考以下文章

10个优秀的JavaScript Web UI库/框架推荐

在 iOS 应用程序中管理网络调用的库/框架 [关闭]

jQuery分析 - 介绍

使用实体框架映射数据库的方法?

值得推荐5个最频繁使用的 AutoML 框架

前端常用的框架都有哪些?