【问题标题】:User management in the gateway is a good idea?网关中的用户管理是个好主意吗?
【发布时间】:2019-06-23 18:58:53
【问题描述】:

我正在开发一个使用 JWT 安全机制围绕 Jhipster 堆栈构建的微服务平台。

我们去掉了特定user-api中的用户管理,我们也有特定的license概念,在单独的license-api中处理。

但是,这种架构意味着这 3 个组件之间有很多调用,我们开始看到一些性能问题。

因此,我正在考虑合并这些服务以解决性能问题。

但是,鉴于其他服务可能需要查询用户或许可证信息,因此,我想知道让微服务查询网关是否是一种好习惯?

【问题讨论】:

  • 您的服务应该不需要向网关 API 查询用户信息,它们应该从 JWT 令牌声明中获取所需的一切。

标签: microservices jhipster api-gateway


【解决方案1】:

使用微服务架构很棒,目标是有凝聚力,所以如果将两个微服务合并为一个仍然尊重凝聚力,那就继续吧(这是尊重所有这些都留在一个域或主题中的事实(用户管理))

但是,如果 mergin 不是一个选项,为什么不使用 graphQl 进行用户管理微服务,你应该考虑这个选项。

假设您使用的是 jpa,您的性能问题也可能与查询相关。

对我来说,除了作为网关之外,我永远不会将网关用于其他事情

有很多事情会导致性能问题。在决定合并之前,请尝试关注微服务的所有最佳实践

【讨论】:

  • 感谢您的反馈,确实我正在考虑合并,因为这些组件属于一起。我更关心的是让其他微服务必须查询网关才能访问用户/许可证数据。
  • 不知道这是否好,但如果您有一个网关并且它变得超载查询为什么不拥有两个!个人而言,我从未尝试过这个:),但似乎有些有趣
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-01
  • 2010-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-01
相关资源
最近更新 更多