【发布时间】:2018-03-26 09:52:26
【问题描述】:
我是微服务新手,在阅读了很多文档之后,我仍然对很多事情有一些疑问。我举一个我现在想要实现的例子:
场景:
- 微服务架构。
- FileServer 将存储来自多个来源的文件。
- 每个微服务都有自己的数据库。
模板服务数据库:
- 模板 ID (PK):guid
- FileId (~FK): guid
- 模板名称
文件服务数据库:
- FileId (PK):guid
- 文件名
- 路径
用例: 用户想要将模板上传到应用程序。
问题:(和我的想法)
谁创建了 GUID (FileId)?
- UI 创建 GUID,并调用模板服务和文件服务。
- UI 调用模板服务,该服务创建 GUID,然后调用文件服务
谁处理文件服务器?
- UI 将文件直接发送到 FileServer(或者可能发送到其他服务,例如 FileManager?)
- UI 将文件发送到 FileService,该服务将其存储在 FileServer 中。
更新日期:2018/03/27
所以,对于 UserInput SaveTemplate(),我的新设计看起来像这样。
【问题讨论】:
-
文件是一个真正的业务概念,还是只是模板被持久化的底层技术格式?
-
文件会从不同的来源上传,所以它应该是一个商业概念。
标签: design-patterns microservices