第四篇 断路器(Hystrix) --IDEA SpringCloud全攻略 亲测可用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了第四篇 断路器(Hystrix) --IDEA SpringCloud全攻略 亲测可用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1445字,纯文字阅读大概需要3分钟。
内容图文
写在开始
在SpringCloud项目中,服务之间相互调用(RPC Remote Procedure Call —远程过程调用),处于调用链路底层的服务产生不可用情况时,请求会产生堆积使得服务器线程阻塞,甚至导致服务器瘫痪。断路器就是为了解决服务不可用问题的方法。
正文开始
本篇在第三篇基础上进行代码编写,介绍的断路器是基于Ribbon类型的断路器
新建项目的用户可以在构建项目时勾选下面组件
已经搭建项目的用户可以在pom中增加
<!--断路器插件--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </dependency>
另外还要做一下配置
Application增加
@EnableHystrix
方法增加失败注解
@RequestMapping(value = "/invokeService", method = RequestMethod.GET) @HystrixCommand(fallbackMethod = "hiError") public String invokeService(@RequestParam(value = "name") String name) { System.out.println("入参name:" + name); String json = restTemplate.getForObject("http://CLOUD-SERVICE/getServiceNameAndPort?name=" + name, String.class); System.out.println(json); return json; }
定义调用方法失败时的方法
public String hiError(String name) { return "--------------hi," + name + "微服务down了--------------"; }
---------------------------------------------------配置完毕 下面做两个测试-------------------------------------------------------
1启动服务中心、S端、C端
接口请求 http://localhost:8003/invokeService?name=tianmh 返回结果 Hello tianmh servicePort 8001
2停掉S端
接口请求 http://localhost:8003/invokeService?name=tianmh 返回结果 --------------hi,tianmh微服务down了--------------
写在最后
本篇介绍了断路器,它可以保证在异常发生时调用方有序的运行。另外springcloud为该功能提供了一套图形化管理界面,在下一篇进行介绍。
原文:https://www.cnblogs.com/tianmh/p/9202259.html
内容总结
以上是互联网集市为您收集整理的第四篇 断路器(Hystrix) --IDEA SpringCloud全攻略 亲测可用全部内容,希望文章能够帮你解决第四篇 断路器(Hystrix) --IDEA SpringCloud全攻略 亲测可用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。