让我们来看看基本的电子商务微服务:
1. 身份验证与授权。这个微服务将处理用户账户、角色和认证。认证方法将基于常规令牌流程(用户输入用户名+密码,服务器通过 cookie 返回一个唯一且随机的令牌)。这项服务也可以用于获取用户配置文件。
2. 购物车微服务。这个微服务可以用于将产品放入购物车中,检查购物车里有哪些产品等。
假设“身份验证与授权”微服务将用于生成成功认证后的随机令牌,并将该令牌与用户进行关联,那么该如何使用此令牌使用户的身份信息可供购物车微服务使用呢?例如,当用户将产品添加到购物车中时,他会发送授权令牌,购物车微服务将根据该令牌识别用户。
那么,分布式数据库是一个选择吗?一个将这些令牌存储并链接到用户的数据库,所有微服务都有访问权限?还是所有微服务都应该从特殊的身份验证与授权 API 中获取用户的身份信息,该 API 将基于访问令牌暴露用户呢?
1. 身份验证与授权。这个微服务将处理用户账户、角色和认证。认证方法将基于常规令牌流程(用户输入用户名+密码,服务器通过 cookie 返回一个唯一且随机的令牌)。这项服务也可以用于获取用户配置文件。
2. 购物车微服务。这个微服务可以用于将产品放入购物车中,检查购物车里有哪些产品等。
假设“身份验证与授权”微服务将用于生成成功认证后的随机令牌,并将该令牌与用户进行关联,那么该如何使用此令牌使用户的身份信息可供购物车微服务使用呢?例如,当用户将产品添加到购物车中时,他会发送授权令牌,购物车微服务将根据该令牌识别用户。
那么,分布式数据库是一个选择吗?一个将这些令牌存储并链接到用户的数据库,所有微服务都有访问权限?还是所有微服务都应该从特殊的身份验证与授权 API 中获取用户的身份信息,该 API 将基于访问令牌暴露用户呢?