微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Spring Cloud Gateway 实现自定义服务发现

如何解决如何使用 Spring Cloud Gateway 实现自定义服务发现

我是 Spring Cloud Gateway 的新手,想在项目中使用它作为网关服务。

我的问题是我在下面的 yaml 中没有要提及的 uri。 uri 应在运行时解析,其中文本“user-account-service”应转换为 https://user-account.san.com。它是通过调用内置库代码来实现的,例如:

@Bean
private ServiceLocator serviceLocator;

public locateService(String service) {
   //library call to resolve the text into the uri.
   //example: 'user-account-service' gets transformed into uri https://user-account.san.com
   serviceLocator.locate(service);
}

该项目已经包含一个自定义 Eureka 之类的发现服务,其中“user-account-service”文本被转换为 url。

我看到spring cloud gateway通过配置支持Eureka发现但是是否可以编写自定义过滤器或配置自定义发现服务,其中说我可以使用'id'值'user-account-service',如下所示调用自定义发现服务来解析 uri?

请注意,我有多个这样的服务,因此文本说“用户帐户服务”应该存储在配置中,而不是硬编码。

spring:
  cloud:
    gateway:
      routes:
        - id: user-account-service
          uri: no://op
          predicates:
          - Path=/user-account/user/**

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。