【问题标题】:Micro-services architecture - common data models微服务架构——通用数据模型
【发布时间】:2019-12-30 16:13:41
【问题描述】:

我正在体验微服务架构,我想创建一个简单的项目,从一些动态源(网络爬虫/股票价格/等)收集和保存数据,根据该数据聚合/计算某些东西,以及将其显示在网页中。

我正在尝试将其分成多个项目/服务,例如:
1. Docker 运行代码来收集和持久化数据。
2. API 的 REST 服务器,用于根据我们收集的数据显示/聚合查询。
3. 显示由 REST API 提供的数据的 UI 框架

我想讨论的问题是 1 和 2 之间的共享模型。 假设整个事情的代码库被分成三个项目/JAR——TestAPP、TestAPI 和 TestUI。 TestAPP 是 TestAPI 将使用的持久数据, TestAPP 应该是 TestAPI 的依赖项吗?他们应该有某种共同的依赖吗?这样的事情应该由三个不同的项目来处理吗?同一个项目下的三个JAR?

【问题讨论】:

    标签: database-design architecture microservices


    【解决方案1】:

    我猜你会想要许多不同的 TestAPP,使用不同的技术、实例数量、生命周期,...... 而且只有一个 TestAPI。

    我将使用 TestAPI 将使用的 API(REST?GraphQL?)公开 TestAPP。因此这个契约是一种依赖,但是非常轻量级,只基于接口。

    你创建的下一个 TestAPP 只需要实现这个契约。

    【讨论】:

    • 如果你的意思是通过数据库集成,同样的原则也适用:在数据库上签订合同,例如与视图。
    猜你喜欢
    • 2018-06-18
    • 2020-09-12
    • 1970-01-01
    • 2021-04-21
    • 2019-11-11
    • 1970-01-01
    • 2019-03-03
    • 1970-01-01
    相关资源
    最近更新 更多