2017-04-25 39 views
4

我正在将PAAS解决方案作为产品使用。我们已经将业务流程分为几个微服务。流程的一个核心部分与几乎所有的微服务密切相关。作为微服务的用户

这是创建单独服务来管理数据(如用户管理)的良好实践吗?实施后,只有该服务才能访问用户和其他相关的数据库表。所有其他服务都必须将这个新用户微服务称为用户相关任务。

该方法将强制我们通过添加非规范化来重构数据库模式。我们不会获得在多个微服务中提供的基础表。如果多个服务需要数据,它将通过微服务共享。

+0

看起来很合理,但你必须确保这个瓶颈不会降低你的系统。像往常一样,配置文件并根据需要提供冗余。我认为,微服务是否是一种可行的方式已经超出了本网站的范围。 – hauron

回答

4

我会说是的。

毕竟,这是典型的用户凭证,授权认证被集中到一个逻辑单元(请注意,这个“逻辑单元”可以是单个服务器或者一个统一的接口分布式解决方案。)

这通常包含用户配置文件管理。请注意,有时你也有一个单独的组件或单位。这完全可以是一个单独的微服务。

为什么?因为管理用户配置文件与所有其他服务(包括身份验证和授权)不同。

现在,如果这是一个单一的物理部署点,那么这将是一个瓶颈。但是,如果这是一个分布式服务(即同一个微服务的多个实例,这是另一个讨论的话题),那么这个问题就会得到缓解。即使在单一的应用程序中(写得很好的时候),你通常会将用户身份验证和管理视为他们自己的独立组件,与其他组件隔离开来。

希望这会有所帮助。