我们使用了jhipster的微服务架构,并生成了三个应用程序uaa微服务网关。然后在服务器上运行uaa和jhipster注册表,还有一些全栈开发人员谁想要同时开发网关和微服务。
然后,他们将微服务和网关部署在位于远程服务器上的jhipsterRegistery上。由于微服务的名称相同,jhipsterregistery无法处理从网关到服务器的请求。正确的微服务
如何解决此问题?
共享注册表和网关可能不是一个好主意。全栈开发人员应在其PC上本地运行网关和注册表,仅在您确实要共享内容时才共享UAA。
也就是说,如果您仍然想这样做,可以尝试以下2种方法:
user
),并使用它在bootstrap-user.yml
中设置其他应用程序名称,但这意味着您可以通过配置在前端代码中更改API的URLeureka.instance.metadataMap
中的bootstrap.yml
)添加一些属性,并修改网关,以便它使用此信息进行路由。这也意味着前端代码应明确显示他们想要哪种服务,可以通过HTTP标头或JWT声明作为示例。[查看Spring Cloud Eureka server docs以更好地了解其工作原理,您甚至可以得到更好的想法。