【发布时间】:2020-03-21 17:51:48
【问题描述】:
所以我正在尝试掌握微服务。据我了解,每项服务都应该代表自己。
在我的示例中,我有一个Unit.API 和一个Combat.API。 Unit.API db 包含大约 1,000,000 个不同的单元。
现在如果我想在Combat.API 中计算/创建一个战斗日志,我需要知道哪个用户使用了哪些单位。
方法 0:据我了解的方法错误:
在控制器的 post 方法中,我将所有 unitId 作为参数获取,然后调用 Unit.API 以获取单位。
方法 1:正确的方法?:
我的Combat.API 中有来自Unit.API 的每个单元的副本。在控制器的 post 方法中,我获取所有 unitIds 作为参数,并从Combat.API db 获取战斗单元“副本”。每当一个单位发生变化时,我必须将一个事件从 Unit.API 发送到 Combat.API 以在那里进行相同的更改。
方法2:也错了?:
在控制器的 post 方法中,我直接通过参数获取所有单位。
我认为方法 1 实际上是正确的,但对我来说感觉是错误的。每分钟可能对单位进行数千次更改,我必须发送数千个事件才能保持其他数据库的更新。什么是正确的?
【问题讨论】:
标签: asp.net-core microservices asp.net-core-webapi