【问题标题】:authentication server microservice, should I use different services for different user functionalities身份验证服务器微服务,我应该为不同的用户功能使用不同的服务吗
【发布时间】:2020-02-19 21:37:58
【问题描述】:

我有一个使用 oauth2 的身份验证服务器。

我用它来:

  1. 来自其他服务的认证、订阅、修改和找回密码等

  2. 作为资源服务器来存储和检索更多的用户和组信息。我在用户和组之间有一个多对多的关系。

我是否应该将此应用程序的第二部分功能分离到另一个仅用作资源服务器的独立服务上。并且只在授权服务器上保留认证部分?

这样我可以分别横向扩展这两个服务。

【问题讨论】:

  • 有一些理由将所有内容保存在一个地方。有很多原因需要单独的服务。完全独立的 API 可能是原因。不同的部署周期可能是另一个原因。不同的支撑位还有另一个原因。我会说你的问题没有单一的答案。
  • 好的,所以这取决于很多方面,但如果我理解得很好,则有更多的理由将它们分开而不是将它们保持在同一个服务中。我会考虑的。目前这是一个个人项目,我独自完成,但未来可能会发生变化。

标签: rest authentication microservices oauth2-server


【解决方案1】:

是的,更好的办法是将配置作为单独的独立服务运行在云上。将配置服务器作为单独的服务,您可以添加所有授权和其他类型的详细信息,如 DB 详细信息、API 详细信息、消息队列配置等,并连接到 N 个服务。

【讨论】:

  • 嗨,这里我不是在谈论单独的配置服务器。我已经有一个单独运行的 spring 云配置服务器,并从 git 存储库中获取其他服务的配置。我正在考虑将身份验证功能与其他用户功能分开。
  • 是的,为了实现可扩展性,我们应该更喜欢将额外的授权服务器作为服务
  • 实际上这里的授权服务器已经是一个独立的服务,所以与之绑定的数据库包含用户信息(凭据)(用户名、电子邮件、密码)、用于身份验证的基本用户信息,还有表格oauth2 用于 JDBC 实现。然后,我在该服务中添加了其他用户功能,例如用户创建和管理用户组、订阅组等的能力。这就是我正在考虑分离成另一个独立服务的部分。
猜你喜欢
  • 2018-03-09
  • 2021-04-27
  • 2019-01-24
  • 2020-12-23
  • 1970-01-01
  • 2020-09-25
  • 2018-07-17
  • 2017-05-28
  • 1970-01-01
相关资源
最近更新 更多