spring zuul + eureka 路由委托
spring zuul + eureka route delegation
我正在使用 Spring Cloud Zuul + Eureka Server。我知道 Zuul 将在 Eureka 上注册服务时动态创建路由,并且它将使用他们的服务 ID 进行路由。是否可以将路由委托给组服务?
例如,我有 2 个服务要分组:
server.port=8081
spring.application.name=company-account-api
server.port=8082
spring.application.name=company-transaction-api
尤里卡配置
spring.application.name=api-discovery
spring.cloud.config.uri=${CONFIG_SERVER_URL:http://localhost:8888}
在 Zuul 上是否可以定义一个路由,我可以在其中访问在 eureka 上注册的 2 个服务?
server.port=9090
spring.application.name=api-gateway
eureka.instance.preferIpAddress=true
eureka.client.registerWithEureka=true
eureka.client.fetchRegistry=true
eureka.serviceurl.defaultzone=http://localhost:8761/eureka
zuul.routes.company-api=/company-**
所以当我访问 http://localhost:9090/company-api/company-account-api & http://localhost:9090/company-api/company-transaction-api 时,在 eureka 上注册的服务将可用
您可以通过以下配置实现此目的
zuul.ignored-services=*
zuul.routes.company-account-api.serviceId=company-account-api
zuul.routes.company-account-api.path=/company-api/company-account-api/**
zuul.routes.company-transaction-api.serviceId=company-transaction-api
zuul.routes.company-transaction-api.path=/company-api/company-transaction-api/**
解释:
zuul.ignored-services=* 这将抑制默认配置
zuul.routes.company-account-api.serviceId=company-account-api
zuul.routes.company-account-api.path=/company-api/company-account-api/**
暴露给public的是/company-api/company-account-api/**,它将在内部映射到company-account-api服务。
如果您不使用服务发现,那么您可以使用 url 而不是服务名称
zuul.routes.company-account-api.url=http://accountapihost:accountapiport
zuul.routes.company-account-api.path=/company-api/company-account-api/**
我正在使用 Spring Cloud Zuul + Eureka Server。我知道 Zuul 将在 Eureka 上注册服务时动态创建路由,并且它将使用他们的服务 ID 进行路由。是否可以将路由委托给组服务?
例如,我有 2 个服务要分组:
server.port=8081
spring.application.name=company-account-api
server.port=8082
spring.application.name=company-transaction-api
尤里卡配置
spring.application.name=api-discovery
spring.cloud.config.uri=${CONFIG_SERVER_URL:http://localhost:8888}
在 Zuul 上是否可以定义一个路由,我可以在其中访问在 eureka 上注册的 2 个服务?
server.port=9090
spring.application.name=api-gateway
eureka.instance.preferIpAddress=true
eureka.client.registerWithEureka=true
eureka.client.fetchRegistry=true
eureka.serviceurl.defaultzone=http://localhost:8761/eureka
zuul.routes.company-api=/company-**
所以当我访问 http://localhost:9090/company-api/company-account-api & http://localhost:9090/company-api/company-transaction-api 时,在 eureka 上注册的服务将可用
您可以通过以下配置实现此目的
zuul.ignored-services=*
zuul.routes.company-account-api.serviceId=company-account-api
zuul.routes.company-account-api.path=/company-api/company-account-api/**
zuul.routes.company-transaction-api.serviceId=company-transaction-api
zuul.routes.company-transaction-api.path=/company-api/company-transaction-api/**
解释:
zuul.ignored-services=* 这将抑制默认配置
zuul.routes.company-account-api.serviceId=company-account-api
zuul.routes.company-account-api.path=/company-api/company-account-api/**
暴露给public的是/company-api/company-account-api/**,它将在内部映射到company-account-api服务。
如果您不使用服务发现,那么您可以使用 url 而不是服务名称
zuul.routes.company-account-api.url=http://accountapihost:accountapiport
zuul.routes.company-account-api.path=/company-api/company-account-api/**