【发布时间】:2021-05-22 13:45:02
【问题描述】:
TLDR;
我们通过调用第三方 api、映射数据并发布到目标 api 来同步数据。 我们正在整合更多的第三方。 此类软件需要考虑哪些架构模式?
细节
我所在的团队构建了一个将数据从一个 REST Api 同步到另一个的解决方案。 我们目前只从一个来源同步到一个目的地。将实施更多来源。
我们开始构建洋葱架构解决方案,它运行良好。 然而:
- 由于我们只想同步(放置或发布)新数据,我们必须先调用目标 api 来查看我们已经拥有的数据。这发生在应用的基础设施层。
- 然后我们调用源 API,并对其进行过滤,以便我们只有新的或更新的数据(也在基础设施层中)
- 数据从第三方对象转换为核心对象(也在基础设施层)
- 然后将其转换为目标对象,并发送到目标 api(也在基础设施层)
你可能会看到这是怎么回事..
大多数数据处理发生在基础设施层,因为核心层独立于一切(项目、nuget 等)。如果我们要完全遵循洋葱模式,我们会在 Core 中进行处理,但这意味着我们必须在比较数据之前进行更多的映射。
我们都觉得核心层中存在的很多东西是不必要的,因为我们基本上只是映射到核心对象,然后直接映射到基础设施对象。
您对我们应该考虑的其他架构有什么建议吗?
【问题讨论】:
标签: rest design-patterns architecture