ityouknow / blog-comments

15 stars 0 forks source link

springcloud(四):熔断器Hystrix - ityouknow's Blog #92

Open ityouknow opened 6 years ago

ityouknow commented 6 years ago

http://www.ityouknow.com//springcloud/2017/05/16/springcloud-hystrix.html

说起springcloud熔断让我想起了去年股市中的熔断,多次痛的领悟,随意实施的熔断对整个系统的影响是灾难性的,好了接下来我们还是说正事。

JIAN-JUN-MENG commented 6 years ago

feign jar中没有hystrix啊 是版本问题吗

JIAN-JUN-MENG commented 6 years ago

不好意思 feign.hystrix.enabled=true 这段是有用的 知识在properties 它没识别 有警告我还以为没有用

sheiy commented 6 years ago
@Primary
@FeignClient(name = "file-service", fallback = TestClientFallBack.class)
public interface TestClient {
    @RequestMapping(value = "/test")
    String test(@RequestParam(value = "name") String name);
}

@Component
public class TestClientFallBack implements TestClient {
    @Override
    public String test(String name) {
        return "hello" +name+", this message send failed ";
    }
}

idea提示有两个TestClient(不影响程序运行)使用@Primary可干掉此提示

baoleiwbl commented 6 years ago

学习

blackshow commented 6 years ago

feign.hystrix.enabled这个为啥在Intellij里不提示呢?请问

Ouchujian commented 5 years ago

你好,请问能不能把spring cloud 和 spring boot的版本发一下,可能版本不一致,我按着步骤但熔断没有生效,一直是500错误

wxc565498374 commented 5 years ago

@Ouchujian https://gitee.com/wangxiaochao121/springcloud,这个版本的搭配没有问题Greenwich.SR1</spring-cloud.version>,springboot版本2.1.3.RELEASE

zhi-re commented 5 years ago

感谢!

taoshilin commented 5 years ago

那它如何区分注入的服务是远程的还是用@Component注解的服务呢?难道优先注入远程的?远程服务不可用则注入fallback的?

xuzhuosheng commented 5 years ago

上一篇文章的例子没有添加feign的maven引用,这次的hystrix没有添加对应的maven引用,其他的都说得很好, 对于新手可能就不容易理解了。

Lichengdi commented 5 years ago

请问一下.停掉服务提供者之后,程序走的fallback. 然后我重新启动了服务提供者,程序依然走的是fallback 这里面应用的是不是前面的断路器机制? 我需要等待

xuzhuosheng commented 5 years ago

是的。你这个问题我之前也有遇到过,这可能是注册服务之间的心跳时间问题, 也就是说你的注册中心和其他微服务没有一个互相检测是否在用的状态。这个可以百度一下配置一下。

------------------ 原始邮件 ------------------ 发件人: "Lichengdi"notifications@github.com; 发送时间: 2019年7月5日(星期五) 中午1:28 收件人: "ityouknow/blog-comments"blog-comments@noreply.github.com; 抄送: "许少"284696920@qq.com; "Comment"comment@noreply.github.com; 主题: Re: [ityouknow/blog-comments] springcloud(四):熔断器Hystrix - ityouknow's Blog (#92)

请问一下.停掉服务提供者之后,程序走的fallback. 然后我重新启动了服务提供者,程序依然走的是fallback 这里面应用的是不是前面的断路器机制? 我需要等待

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

qinyudong89 commented 5 years ago

您好老师,我也遇到@Lichengdi同样的问题。服务提供者重启后,还走fallback。

ggboy996 commented 5 years ago

@qinyudong89 您好老师,我也遇到@Lichengdi同样的问题。服务提供者重启后,还走fallback。

解决了吗兄弟

xuzhuosheng commented 5 years ago

你的服务提供者关闭了之后,你刷新一下的注册中心,看看已经被你关掉的服务会不会还在。如果还在的话,就百度一下 eureka 的心跳时间或者有一个关闭保护模式(我忘了这个保护模式是关闭还是开启),两者的作用都是一样的。设置完之后就测试一下,就像刚刚那样,服务提供者关闭了之后,你刷新一下的注册中心,那个被你关闭的服务应该就不会在了。如果hystrix还走fallback,可能是你hystrix的配置有问题了。

------------------ 原始邮件 ------------------ 发件人: "ggboy996"notifications@github.com; 发送时间: 2019年9月16日(星期一) 中午11:41 收件人: "ityouknow/blog-comments"blog-comments@noreply.github.com; 抄送: "许少"284696920@qq.com; "Comment"comment@noreply.github.com; 主题: Re: [ityouknow/blog-comments] springcloud(四):熔断器Hystrix - ityouknow's Blog (#92)

@qinyudong89 您好老师,我也遇到@Lichengdi同样的问题。服务提供者重启后,还走fallback。

解决了吗兄弟

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

ggboy996 commented 5 years ago

多谢!居然这么快回我邮件,感动!那我研究下,谢谢!

------------------ 原始邮件 ------------------ 发件人: "超级无敌健康大长腿"notifications@github.com; 发送时间: 2019年9月16日(星期一) 中午11:52 收件人: "ityouknow/blog-comments"blog-comments@noreply.github.com; 抄送: "Goodbye"354656178@qq.com;"Comment"comment@noreply.github.com; 主题: Re: [ityouknow/blog-comments] springcloud(四):熔断器Hystrix - ityouknow's Blog (#92)

你的服务提供者关闭了之后,你刷新一下的注册中心,看看已经被你关掉的服务会不会还在。如果还在的话,就百度一下 eureka 的心跳时间或者有一个关闭保护模式(我忘了这个保护模式是关闭还是开启),两者的作用都是一样的。设置完之后就测试一下,就像刚刚那样,服务提供者关闭了之后,你刷新一下的注册中心,那个被你关闭的服务应该就不会在了。如果hystrix还走fallback,可能是你hystrix的配置有问题了。

------------------ 原始邮件 ------------------ 发件人: "ggboy996"notifications@github.com;
发送时间: 2019年9月16日(星期一) 中午11:41 收件人: "ityouknow/blog-comments"blog-comments@noreply.github.com;
抄送: "许少"284696920@qq.com; "Comment"comment@noreply.github.com;
主题: Re: [ityouknow/blog-comments] springcloud(四):熔断器Hystrix - ityouknow's Blog (#92)

@qinyudong89 您好老师,我也遇到@Lichengdi同样的问题。服务提供者重启后,还走fallback。

解决了吗兄弟

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

KKsmall commented 5 years ago

我测试的情况是第一次把服务提供者关闭后 eurka注册中心中还是有该服务,请求时会触发熔断,然后再启动提供者,第一次请求还是报的容错的内容。我给eureka配置加上eureka.server.enable-self-preservation=false后,第一次关闭提供者,注册中心一样还是有服务,再启动后第一次还是容错的内容。过来一段时间我看注册中心服务才少了一个。不知道是不是这个配置没生效,关闭了服务 注册中心还是会存留一段时间

xuzhuosheng commented 5 years ago

不好意思,没上QQ,没看到邮件。 eureka会定时检查是否存在失效的服务的,但是不会每秒帮你帮你检查。你关闭了服务,在eureka的注册中心还是会存在一段时间,比如2min(这个时间间隔,就叫心跳时间,这个可以在配置文件配置的 )。过了这段时间你再刷新,在eureka中心就看不到你关闭的服务。如果你不加这个配置 eureka.server.enable-self-preservation=false,除非你重启你的注册中心,否则不会删除失效服务。

------------------ 原始邮件 ------------------ 发件人: "KKsmall"notifications@github.com; 发送时间: 2019年9月26日(星期四) 上午9:23 收件人: "ityouknow/blog-comments"blog-comments@noreply.github.com; 抄送: "许少"284696920@qq.com; "Comment"comment@noreply.github.com; 主题: Re: [ityouknow/blog-comments] springcloud(四):熔断器Hystrix - ityouknow's Blog (#92)

我测试的情况是第一次把服务提供者关闭后 eurka注册中心中还是有该服务,请求时会触发熔断,然后再启动提供者,第一次请求还是报的容错的内容。我给eureka配置加上eureka.server.enable-self-preservation=false后,第一次关闭提供者,注册中心一样还是有服务,再启动后第一次还是容错的内容。过来一段时间我看注册中心服务才少了一个。不知道是不是这个配置没生效,关闭了服务 注册中心还是会存留一段时间

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

qinyudong89 commented 5 years ago

解决了,谢谢!

在 2019-09-16 11:52:17,"超级无敌健康大长腿" notifications@github.com 写道: 你的服务提供者关闭了之后,你刷新一下的注册中心,看看已经被你关掉的服务会不会还在。如果还在的话,就百度一下 eureka 的心跳时间或者有一个关闭保护模式(我忘了这个保护模式是关闭还是开启),两者的作用都是一样的。设置完之后就测试一下,就像刚刚那样,服务提供者关闭了之后,你刷新一下的注册中心,那个被你关闭的服务应该就不会在了。如果hystrix还走fallback,可能是你hystrix的配置有问题了。

------------------ 原始邮件 ------------------ 发件人: "ggboy996"notifications@github.com; 发送时间: 2019年9月16日(星期一) 中午11:41 收件人: "ityouknow/blog-comments"blog-comments@noreply.github.com; 抄送: "许少"284696920@qq.com; "Comment"comment@noreply.github.com; 主题: Re: [ityouknow/blog-comments] springcloud(四):熔断器Hystrix - ityouknow's Blog (#92)

@qinyudong89 您好老师,我也遇到@Lichengdi同样的问题。服务提供者重启后,还走fallback。

解决了吗兄弟

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

wanlimg420221 commented 5 years ago

@xuzhuosheng 不好意思,没上QQ,没看到邮件。 eureka会定时检查是否存在失效的服务的,但是不会每秒帮你帮你检查。你关闭了服务,在eureka的注册中心还是会存在一段时间,比如2min(这个时间间隔,就叫心跳时间,这个可以在配置文件配置的 )。过了这段时间你再刷新,在eureka中心就看不到你关闭的服务。如果你不加这个配置 eureka.server.enable-self-preservation=false,除非你重启你的注册中心,否则不会删除失效服务。

------------------ 原始邮件 ------------------ 发件人: "KKsmall"notifications@github.com; 发送时间: 2019年9月26日(星期四) 上午9:23 收件人: "ityouknow/blog-comments"blog-comments@noreply.github.com; 抄送: "许少"284696920@qq.com; "Comment"comment@noreply.github.com; 主题: Re: [ityouknow/blog-comments] springcloud(四):熔断器Hystrix - ityouknow's Blog (#92)

我测试的情况是第一次把服务提供者关闭后 eurka注册中心中还是有该服务,请求时会触发熔断,然后再启动提供者,第一次请求还是报的容错的内容。我给eureka配置加上eureka.server.enable-self-preservation=false后,第一次关闭提供者,注册中心一样还是有服务,再启动后第一次还是容错的内容。过来一段时间我看注册中心服务才少了一个。不知道是不是这个配置没生效,关闭了服务 注册中心还是会存留一段时间

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

@xuzhuosheng 不好意思,没上QQ,没看到邮件。 eureka会定时检查是否存在失效的服务的,但是不会每秒帮你帮你检查。你关闭了服务,在eureka的注册中心还是会存在一段时间,比如2min(这个时间间隔,就叫心跳时间,这个可以在配置文件配置的 )。过了这段时间你再刷新,在eureka中心就看不到你关闭的服务。如果你不加这个配置 eureka.server.enable-self-preservation=false,除非你重启你的注册中心,否则不会删除失效服务。

------------------ 原始邮件 ------------------ 发件人: "KKsmall"notifications@github.com; 发送时间: 2019年9月26日(星期四) 上午9:23 收件人: "ityouknow/blog-comments"blog-comments@noreply.github.com; 抄送: "许少"284696920@qq.com; "Comment"comment@noreply.github.com; 主题: Re: [ityouknow/blog-comments] springcloud(四):熔断器Hystrix - ityouknow's Blog (#92)

我测试的情况是第一次把服务提供者关闭后 eurka注册中心中还是有该服务,请求时会触发熔断,然后再启动提供者,第一次请求还是报的容错的内容。我给eureka配置加上eureka.server.enable-self-preservation=false后,第一次关闭提供者,注册中心一样还是有服务,再启动后第一次还是容错的内容。过来一段时间我看注册中心服务才少了一个。不知道是不是这个配置没生效,关闭了服务 注册中心还是会存留一段时间

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

我在eureka服务中心配置eureka.server.enable-self-preservation=false,当关掉product后还是能看到eureka里边有这个服务,调用正常还是走fallback

bao17634 commented 4 years ago

Feign+Hystrix ,一直是走fallback 这是为啥啊,难道是我Hystrix 配置不对吗(我的注册中心是nacos)