我们正在寻求迁移到 Spring Cloud Load Balancer 来替换 Ribbon。我们使用 Eureka 进行服务发现和注册。
看起来从 Spring Cloud Netflix 3.x 开始,Eureka 客户端模块中的 EurekaRibbonClientConfiguration 已被删除。
我们使用 deploymentContextBasedVipAddress 配置将我们的内部主机名映射到 Eureka 中注册的 vip 地址。
配置与此类似:
some-sevice-v1.ribbon.NIWSServerListClassName=com.netflix.niws.loadbalancer.DiscoveryEnabledNIWSServerList
some-sevice-v1.ribbon.DeploymentContextBasedVipAddresses=some_service-v1
some-sevice-v1.ribbon.NIWSServerListFilterClassName=com.netflix.loadbalancer.ServerListSubsetFilter
我们这样做是因为在 Eureka 注册的 vip 地址中包含一个_
,从技术上讲,它是主机名的无效字符;Java URI 类将无法解析其中包含 a 的主机_
。在这一点上,我们无法改变这一点。
所以我的问题是;这种类似的配置可以用 Spring Cloud Load Balancer 和 Spring Cloud Netflix 3.x 中的新 Eureka 客户端模块完成,我们可以在其中为 vip 地址提供别名?