iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Spring Cloud中的断路器Hystrix怎么使用
  • 536
分享到

Spring Cloud中的断路器Hystrix怎么使用

2023-06-19 12:06:29 536人浏览 独家记忆
摘要

本篇内容介绍了“spring cloud中的断路器Hystrix怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先我们分别启动服务注

本篇内容介绍了“spring cloud中的断路器Hystrix怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

首先我们分别启动服务注册中心,再启动两个服务提供者的实例,端口号分别是8080和8081,然后再启动一个服务消费者,服务消费者的端口号为9000,这几个都启动成功之后,我们访问Http://localhost:9000/ribbon-consumer这个地址,可以看到如下效果:

Spring Cloud中的断路器Hystrix怎么使用  

此时我们关闭掉任意一个服务提供者,再去访问这个地址,会看到如下效果:

Spring Cloud中的断路器Hystrix怎么使用
通过前面几篇文章的学习,大家知道spring Cloud中采取的默认负载均衡策略就是轮询,所以当一个服务提供者关掉之后,刷新的时候服务请求成功和请求失败是成对出现的:当服务消费者去请求那个被关掉的服务提供者的时候就会请求失败,当服务消费者去请求正常的服务提供者时就能获得期望的结果。请求失败时不能给用户展示这样一个ErrorPage,而应该是一个可控的页面,OK,我们来看看如何使用断路器来解决这个问题。

服务消费者中加入断路器

首先我们需要在服务消费者中引入hystrix,如下:

<dependency>    <groupId>org.springframework.cloud</groupId>    <artifactId>spring-cloud-starter-hystrix</artifactId></dependency>

修改服务消费者启动入口类

引入hystrix之后,我们需要在入口类上通过@EnableCircuitBreaker开启断路器功能,如下:

@EnableCircuitBreaker@SpringBootApplication@EnableDiscoveryClientpublic class RibbonConsumerApplication {    public static void main(String[] args) {        SpringApplication.run(RibbonConsumerApplication.class, args);    }    @LoadBalanced    @Bean    RestTemplate restTemplate() {        return new RestTemplate();    }}

我们也可以使用一个名为@SpringBootApplication的注解代替这三个注解,@SpringBootApplication注解的定义如下:

@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootApplication@EnableDiscoveryClient@EnableCircuitBreakerpublic @interface SpringCloudApplication {}

实际上就是这三个注解的一个整合。

修改Controller

然后我们创建一个HelloService类,如下:

@Servicepublic class HelloService {    @Autowired    private RestTemplate restTemplate;    @HystrixCommand(fallbackMethod = "error")    public String hello() {        ResponseEntity<String> responseEntity = restTemplate.getForEntity("http://HELLO-SERVICE/hello", String.class);        return responseEntity.getBody();    }    public String error() {        return "error";    }}

关于这个HelloService类我说如下几点:

RestTemplate执行网络请求的操作我们放在HelloService中来完成。
2.error方法是一个请求失败时回调的方法。
3.在hello方法上通过@HystrixCommand注解来指定请求失败时回调的方法。

OK,最后我们将ConsumerController的逻辑修改成下面这样:

@RestControllerpublic class ConsumerController {    @Autowired    private HelloService helloService;    @RequestMapping(value = "/ribbon-consumer",method = RequestMethod.GET)    public String helloController() {        return helloService.hello();    }}

此时我们就开启了断路器功能。

测试

我们先确认服务注册中心,两个服务提供者的实例,端口号分别是8080和8081,一个服务消费者,端口号为9000,一共四个实例都启动成功,启动成功之后,我们再关掉一个服务提供者,此时访问http://localhost:9000/ribbon-consumer,结果如下:

Spring Cloud中的断路器Hystrix怎么使用  

“Spring Cloud中的断路器Hystrix怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Spring Cloud中的断路器Hystrix怎么使用

本文链接: https://www.lsjlt.com/news/296071.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Spring Cloud中的断路器Hystrix怎么使用
    本篇内容介绍了“Spring Cloud中的断路器Hystrix怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先我们分别启动服务注...
    99+
    2023-06-19
  • Spring Cloud中如何使用Hystrix实现断路器
    这篇文章主要介绍了Spring Cloud中如何使用Hystrix实现断路器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Spring Cloud中如何使用Hystrix实现断路器文章都会有所收获,下面我们一起...
    99+
    2023-06-04
  • Spring Cloud中熔断器Hystrix有什么用
    这篇文章主要为大家展示了“Spring Cloud中熔断器Hystrix有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Spring Cloud中熔断器Hystrix有什么用”这篇文章吧。...
    99+
    2023-06-19
  • spring cloud gateway集成hystrix全局断路器的操作
    这篇文章主要讲解了“spring cloud gateway集成hystrix全局断路器的操作”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“spring cloud gateway集成hys...
    99+
    2023-06-20
  • spring cloud gateway集成hystrix全局断路器操作
    gateway集成hystrix全局断路器 pom.xml添加依赖 <dependency> <groupId>org.springframework.c...
    99+
    2024-04-02
  • Spring Cloud中Hystrix的请求缓存怎么实现
    本篇内容介绍了“Spring Cloud中Hystrix的请求缓存怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!通过方法重载开启缓存...
    99+
    2023-06-19
  • Spring Cloud中怎么自定义Hystrix请求命令
    Spring Cloud中怎么自定义Hystrix请求命令,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。自定义HystrixCommand我们除了使用@Hyst...
    99+
    2023-06-19
  • Spring Cloud Hystrix:熔断与降级机制,守护应用稳定的基石
    Spring Cloud Hystrix、熔断、降级 熔断机制: 熔断机制是一种故障容错策略,当某个依赖服务出现持续故障时,Hystrix 会快速断开连接,停止向该服务发送请求。这样做的好处是: 避免故障蔓延:防止故障服务对其他微服务...
    99+
    2024-03-07
    熔断机制与降级机制
  • Spring Cloud中Feign怎么使用
    本篇内容主要讲解“Spring Cloud中Feign怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring Cloud中Feign怎么使用”吧!创建公共接口首先我们来创建一个普通的...
    99+
    2023-06-19
  • Spring Cloud中怎么使用Ribbon
    今天小编给大家分享一下Spring Cloud中怎么使用Ribbon的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1. 什么...
    99+
    2023-06-04
  • Spring Cloud Alibaba 使用 Feign+Sentinel 怎么完成熔断
    这篇文章主要讲解了“Spring Cloud Alibaba 使用 Feign+Sentinel 怎么完成熔断”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring Cloud Alib...
    99+
    2023-06-14
  • SpringCloud hystrix断路器与全局解耦怎么实现
    这篇文章主要介绍“SpringCloud hystrix断路器与全局解耦怎么实现”,在日常操作中,相信很多人在SpringCloud hystrix断路器与全局解耦怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好...
    99+
    2023-07-04
  • Spring Cloud Stream怎么使用
    这篇文章主要讲解了“Spring Cloud Stream怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring Cloud Stream怎么使用”吧!Spring Cloud ...
    99+
    2023-06-19
  • Spring Cloud中的动态路由怎么利用 Zuul实现
    今天就跟大家聊聊有关Spring Cloud中的动态路由怎么利用 Zuul实现,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Zuul 是提供动态路由,监控,弹性,安全等的边缘服务。Z...
    99+
    2023-05-31
    springcloud zuul 动态路由
  • SpringCloud hystrix断路器与局部降级问题怎么解决
    这篇文章主要介绍“SpringCloud hystrix断路器与局部降级问题怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringCloud hystrix断路器与局...
    99+
    2023-07-04
  • Spring Cloud Alibaba 使用 Feign+Sentinel 完成熔断的示例
    目录Feign的使用Alibaba的使用Feign的使用 Feign也是网飞开发的,SpringCloud 使用 Feign 非常简单,我下边演示一下: 首先 服务消费者这边肯定需要...
    99+
    2024-04-02
  • Spring Cloud中怎么使用 Feign上传文件
    Spring Cloud中怎么使用 Feign上传文件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。加依赖<dependency> <groupId...
    99+
    2023-05-30
    springcloud feign
  • Spring Cloud中Hystrix服务降级与异常处理的方法是什么
    本篇内容主要讲解“Spring Cloud中Hystrix服务降级与异常处理的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring Cloud中Hystrix服务降级与异常处理的...
    99+
    2023-06-19
  • 断路器与容错处理:Java Spring Cloud 守护应用健康的护身符
    断路器的作用 断路器是一个模式,它通过监控特定依赖或服务的健康状况,在出现持续故障时自动中断对该依赖或服务的调用。这可以防止应用程序因不断请求失败的依赖或服务而进入死循环或消耗大量资源。 在 Spring Cloud 中,Hystrix...
    99+
    2024-03-07
    断路器、Spring Cloud、容错处理、弹性、应用程序可用性
  • Spring Cloud中Feign怎么自定义配置与使用
    这篇文章主要介绍了Spring Cloud中Feign怎么自定义配置与使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Spring Cloud中Feign怎么自定义配置与使用文章都会有所收...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作