【发布时间】:2017-06-26 05:38:33
【问题描述】:
现有三个微服务:
作者
它具有 SELECT 和 CRUD 实体“作者”的能力
书籍
具有 SELECT 和 CRUD 实体“book”的能力
移动应用主机
专为移动客户端构建,以响应请求的完整数据模型,因此移动应用程序不会在其端“丰富”数据。
示例:API 'MobileHost.getAllBooksOfGivenAuthor' 将通过调用 'Authors.getAuthorData(authorId)' 并将其数据与 'Books.getBooksByAuthorIds(authorId)' 合并,从而返回作者姓名和书名:
{
"author" : {
"name" : "Winner",
"id" : 1
},
"books" : [
{
"name" : "Book A",
"id" : "13231231"
}
]
}
我的问题是:
如果移动客户端通过“移动应用程序主机”读取数据,是否也应该通过“移动应用程序主机”“添加作者”,还是直接联系“作者”服务可以?在这种情况下是否应该代理 CRUD?
【问题讨论】:
标签: design-patterns microservices restful-architecture