首页 > 解决方案 > 用于自己的身份验证服务器和微服务的 API 网关

问题描述

大家好,提前谢谢你

这些天我一直在用 Spring Boot 玩微服务,我需要一些建议。首先我会告诉你我做了什么:

我有两个“微服务”

  1. 我自己的带有 JWT 的 Auth Server,它基于 secretKey 生成令牌。如果用户和通行证在系统内,此微服务将返回一个令牌。它还有一个端点,通过提供用户名和密码来注册新用户。这个微服务只管理两个实体“用户”和“角色”。

  2. 第二个“微服务”是一种“核心”,它的所有者和宠物都可以在其中进行管理。“所有者”和“用户”之间存在关系,我将在后面解释。所有者实体具有所有者名称、所有者用户名、所有者街道等信息。

“User”和“Owner”之间的关系是OnetoOne,因为数据库是分开的,这种关系只是用户中的一个列,作为“OwnerId”,而所有者有“UserId”。

AuthServer 还具有将 ownerId 设置为 userId 的端点。

现在的问题是我必须构建一个也可以作为协调器工作的 Api 网关

当前端应用程序调用注册新用户时,它会发送一个包含用户和所有者信息的通用 DTO。计划是前端调用一个 API 门,它接收该通用 DTO(用户和所有者信息),向 Authserver 发送一个休息请求,发送所需的 NewUserDTO(用户名和密码......这将由 api 网关与信息组成在 genericDTO 中收到),接收响应,如果可以,则向核心发送另一个请求以创建具有所需 OwnerDTO(所有者名称,所有者姓氏,所有者街道 ... info) 与创建用户时返回的信息。然后,如果一切顺利,它将发送最后一个请求,将 ownerId 设置为 de UserId。"

也许这个问题没有得到很好的解释,但我见过像 zuul 这样的 ApiGateways,但我认为它不能做我想要的。¿ 你建议我做什么来简化所有这些编码?我已经知道我可以编写所有代码,在 api 网关中设置一个 post 端点并发送其余请求,例如使用 feing 或 restTemplate,但也许有一个更好的解决方案,不必编写所有代码(一些依赖使其更容易,或者是其他东西)。请避免建议,因为将所有者放在 authserver 微服务中。

最好的问候,谢谢。

标签: javaspring-boottransactionsmicroservicesorchestration

解决方案


推荐阅读