gpt4 book ai didi

java - 有没有一种方法可以根据不同的调用者为一个 hystrix 命令设置不同的配置?

转载 作者:太空宇宙 更新时间:2023-11-04 09:26:23 25 4
gpt4 key购买 nike

我正在使用hystrix在现有的dubbo服务环境上添加流量控制,并希望在一个服务接口(interface)上为不同的调用者设置不同的阈值。但我在 hystrix 文档中找不到任何相关信息。请帮助我了解此配置。

@HystrixCommand 是为一个命令上的所有调用者设计的,我还没有找到将特定调用者及其自己的阈值添加到配置中的方法

最佳答案

我认为至少直接不可能:

当您在某些代码上放置断路器时,我们将其称为foo(),这意味着您要保护从foo()访问的资源有很多流可以调用 foo() 并不重要,最重要的是,如果从 foo() 访问的资源被淹没,所有调用者都会“受苦”。

因此,您可以做的是为两个不同的位置定义两个不同的命令,这两个命令将调用 foo(),这意味着您分别保护这两个位置:

public class ImportantService {
public void foo() {
// was protected with circuit breaker
}
}

public class Flow1 {

private ImportantService importantService;

@HystrixCommand - protect with Cirquit Breaker Configuration 1
public void doFlow1() {
importantService.foo();
}
}


public class Flow2 {

private ImportantService importantService;

@HystrixCommand - protect with Cirquit Breaker Configuration 2
public void doFlow2() {
importantService.foo();
}
}

所以,是的,从技术上讲,这样的解决方法是可能的,但是我建议您在引入这样的配置之前“三思而后行”,它是否会实现保护真正重要资源的目标,就像我上面解释的那样。

关于java - 有没有一种方法可以根据不同的调用者为一个 hystrix 命令设置不同的配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57655386/

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