我正在查看微服务示例(主要是eShopOnContainers),并有关于身份验证的查询。
在上面的示例中,由于签名和身份验证(身份服务)的缘故,他们有一个单独的服务,因此请保持独立。
但是,该示例没有“客户”域模型的示例。我本来希望在客户周围有一个额外的微服务,它可以处理客户的地址,偏好等问题。
如果要在示例中添加客户,则必须选择以下选项:
将客户模型添加到现有的身份服务中。当他们注册时,它将在相同范围内创建用户。但是,这似乎是错误的,因为身份服务应该只是在进行身份验证。
创建一个新的Customer微服务以处理此有限上下文。感觉就像是正确的方法,因为它只是处理与身份分离的客户模型。但是,由于最终的一致性,我很难考虑如何在现实中实现这一点。当用户注册时,他们将被重定向到站点并有望登录。如果尚未处理事件,则找不到新客户。可能必须同步执行此操作吗?
有人实施过类似的方法吗?拥有适当的有界上下文(客户,目录等),然后将身份放在其前面但完全分开,但这似乎不是一个简单的方法,似乎是一种更好的方法。
谢谢