【发布时间】:2020-07-06 01:07:43
【问题描述】:
我正在使用 Java、Spring-Boot 和 db 一个 mongodb。在 mongo 我有 human 集合结构,如
{
"_id": {
"$oid": "5eaf79f4bce37709f84f6b03"
},
"claimNo": 123
"xrays": [
"xray1",
"xray2",
"xray3"
],
"xray_details": {
"xray1": {},
"xray2": {},
"xray3": {},
},
"claimResult": "A"
}
xrays 对象包含 X 射线的名称。 xray_details 包含有关每个 X 射线的详细信息。
所以就像我们最初创建这个文档一样; xray_details 和 claimResult 不包含任何信息。我们一准备好就会得到信息,例如对于 xray2,我们可能会获得一些信息,但对于 xray3 和 xray1,我们可能会在 15 分钟后获得信息。我们需要做的是,一旦我们有了一些信息,我们就需要计算和更新claimResult。
详细说明:
在xray_details 中,我们获得xray2 的信息,但xray1 和xray3 不可用,然后我们只考虑xray2 并更新claimResult。一旦我们得到一些其他的 X 射线信息,即xray1,那么我们将使用xray1、xray2 来计算claimResult,稍后我们会得到xray3,然后我们需要再次检查/确认我们是否已经有信息可以使用xray1、xray2、xray3 来计算claimResult。
问题: 在这个阶段,我们正在制作一个调度程序来计算结果,但这效率不高,我们需要它,一旦信息可用,我们就会考虑先前完成的信息并再次计算结果。不知道像 kafka 这样的解决方案是否可以在这种情况下工作,但请随时提供您对此的宝贵反馈/建议。谢谢!
【问题讨论】:
标签: java spring mongodb design-patterns architecture