在构建REST API同步应用程序时,需要考虑哪些架构模式? 太长,读不下去了
我们通过调用第三方api、映射数据并发布到目标api来同步数据。 我们正在整合更多的第三方。 这种软件需要考虑什么样的体系结构?在构建REST API同步应用程序时,需要考虑哪些架构模式? 太长,读不下去了,rest,design-patterns,architecture,Rest,Design Patterns,Architecture,我们通过调用第三方api、映射数据并发布到目标api来同步数据。 我们正在整合更多的第三方。 这种软件需要考虑什么样的体系结构? 细节 我所在的团队构建了一个将数据从一个REST Api同步到另一个REST Api的解决方案。 我们目前只从一个源同步到一个目标。将实施更多来源 我们开始构建洋葱架构解决方案,它工作得很好。 然而: 因为我们只想同步(放置或发布)新数据,所以我们必须首先调用目标api来查看我们已经拥有的数据。这发生在应用程序的基础结构层 然后我们调用源api,并对其进行过滤,这
细节 我所在的团队构建了一个将数据从一个REST Api同步到另一个REST Api的解决方案。 我们目前只从一个源同步到一个目标。将实施更多来源 我们开始构建洋葱架构解决方案,它工作得很好。 然而:
- 因为我们只想同步(放置或发布)新数据,所以我们必须首先调用目标api来查看我们已经拥有的数据。这发生在应用程序的基础结构层
- 然后我们调用源api,并对其进行过滤,这样我们就只有新的或更新的数据(也在基础设施层)
- 数据从第三方对象转换为核心对象(也在基础架构层)
- 然后将其转换为目标对象,并发送到目标api(也在基础结构层中)
您对我们应该简化的其他体系结构有什么建议吗?软件体系结构是科学、工程、艺术和工艺的结合。目标是为系统定义一个总体概念模型,使开发人员和维护人员能够灵活地响应需求或环境的变化 正如Robert C.Martin所说(我认为),好的软件架构是关于对那些在未来很难改变的事情做出正确的决定。代码库中的很多东西都很容易更改,我们不应该过分关注这些。很难改变的是关于语言、平台、框架、应用的技术(例如使用哪个数据库、HTTP与协议缓冲区等)、同步与异步、ACID与最终一致性等的决策 换句话说,您首先分析问题,然后选择一个匹配的体系结构 为什么选择洋葱架构来解决上述问题 关于该架构()的要点是保护域模型不受实现细节的影响(换句话说,保护域模型) 根据OP中的描述,没有业务逻辑可言。相反,这听起来像是一份工作。选择适合该任务的体系结构 它可以是一个简单的问题,也可以是更复杂的问题
几年前,我的一个客户需要实现类似的功能,在这种特定的环境中,我们一致认为最有意义的是基于的最终一致的异步守护进程,并加入了一些CQR作为良好的度量。感谢您给出了很好的答案!我们摘洋葱是因为它是我们教育的中心。我们的导师建议我们这样做,然后去做我们觉得更好的事情,所以我想这是经验的一部分。。但无论如何,我们将研究ETL的各种方法,并研究您发布的链接。再次感谢!