gpt4 book ai didi

spring-cloud - 如何在部署期间使用 netflix 将所有请求转发到特定版本(同一服务)?

转载 作者:行者123 更新时间:2023-12-03 17:08:58 24 4
gpt4 key购买 nike

我有 4 个在不同主机上运行的相同服务的实例。我正在逐个节点为该服务节点部署新版本。在部署时,传入的请求会根据负载均衡器转发到任何版本(主机)。在 netflix 中有什么方法可以将所有传入请求转发到特定版本吗?

是否有任何通用方法可以定义版本(对于相同的 serviceId)。如果传入的请求在 header 中定义了版本,我们可以使用它来将请求转发到特定版本。

可能是这样的:

在 Zuul 代理中,

zuul:
routes:
sample:
path: /sample/{version}/**
serviceId: sample-service

在 sample 服务中,
eureka:
instance:
appname: sample-service
metadataMap:
version: v1

或任何其他机制来实现相同服务的版本控制?

最佳答案

我认为你正朝着正确的方向前进。你可以自己写 @RibbonClient这基本上是一个 @Configuration每个服务的负载平衡类。
@RibbonClient(name = "yourServiceName", configuration = RibbonConfigForThatService.class) .

您可以在其中放置自己的 IRule - 如果需要任何其他组件 - 用于该服务。有了这个,您可以根据元数据过滤可用于负载平衡的实例。
RoundRobinRule做一个简单的循环负载平衡,是满足进一步需求的好例子。

关于spring-cloud - 如何在部署期间使用 netflix 将所有请求转发到特定版本(同一服务)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32715464/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com