【发布时间】:2018-04-28 12:45:36
【问题描述】:
我对微服务架构没有什么疑问。
假设有微服务 A、B 和 C。 A 将工作的上下文与其所做的其他事情分开,而 B、C 则通过为该工作完成各自的任务来完成该工作。
我有问题。
1.数据库设计
我在这里谈论的是 SQL。 外键的使用简化了很多事情。 但据我了解微服务架构,每个微服务都维护自己的数据,如果需要,必须从该服务中查询数据。
这是否意味着没有外键引用另一个微服务中的表?
2。数据流
我在这里看到有两种方法。
所有查询都使用 jobId 在所有微服务中为作业进行唯一维护。
- 客户端请求直接转到单个服务以执行任务。为获取作业摘要,客户端查询各个微服务以收集数据并传递给用户。
- 通过协调微服务做所有事情。客户端请求转到服务 A,然后服务 A 将从所有其他微服务中收集该 jobId 的信息并将其传递给用户。
以上两个必须遵循哪一个,为什么?
【问题讨论】:
标签: mysql microservices