[英]Sharing entity ID between microservices
假设我有一个Users
微服务。 它的数据通过HATEOAS“模式”之后的REST API消耗,因此常见的请求/响应如下所示:
GET /users
{
results: 5,
data :[
{
name: "John Doe",
email: "whatever",
...,
links : [
{
rel: "self",
href: "/users/1"
}
]
},
...
]
}
正如HATEOAS所说,不会返回用户ID,而是指向“自我”的链接。
到现在为止还挺好。 现在,我想要另一个微服务来管理用户的图片。 在该新的微服务中,一个用户与其照片之间存在关系,因此我将需要一个用户标识符。
我应该在pics微服务中使用“ / users / 1”(“ self”链接)作为用户ID吗?
如果没有,我该如何处理?
您不能采用url的结构,但可以返回实体ID。
我应该在pics微服务中使用“ / users / 1”(“ self”链接)作为用户ID吗?
如果执行此操作,则假定第二个微服务正在使用相同的url方案,这很不好。 您将两个微服务耦合在一起。
另外,请求响应中包含的url仅对那些(微)服务有意义,您不能仅仅假设另一个系统中的相应resource
具有相同的id
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.