Eureka Server 和 Spring Cloud API Gateway 如何相互通信?

问题描述

Spring Boot微服务架构中,我们通常通过eureka.client.register-with-eureka=trueeureka.client.fetch-registry=trueeureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka将我们的每个微服务(它的许多实例)注册到Eureka服务器中。因此 Eureka 充当这些服务(服务名称、主机名及其 IP)的服务注册中心。

Spring Cloud API Gateway 充当任何微服务调用的单一入口点。它可以作为代理服务将请求路由到相关的微服务,抽象出生产者的细节。它只有路由信息,那么Spring Cloud API gateway 是如何知道调用哪个微服务实例的呢? API Gateway 和 Eureka 如何通信和负载平衡?

spring:
  application:
    name: api-gateway
  cloud:
    gateway:
      discovery:
        locator:
          enabled: true
          lower-case-service-id: true
      routes:
      - id: user-service
        uri: lb://user-service
        predicates:
        - Path=/users/**
        
      - id: order-service
        uri: lb://department-service
        predicates:
        - Path=/departments/**

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)