SpringCloud成神之路(四)------Hystrix

本文介绍了如何使用 Hystrix 实现服务降级与断路器功能,通过 Ribbon 和 Hystrix 的结合,确保了系统的稳定性和可用性。文中详细解释了搭建 Hystrix 的步骤及关键配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单介绍下

在为服务的架构中,我们将系统查分成了很多服务单元,个单元的应用件通过服务注册于订阅的范式相互依赖.由于每个单元都在不同的进程中执行,就会因为网络故障,延迟等出现一些问题.,由于故障导致的任务挤压,最后导致服务瘫痪.
Hystrix实现了断路器,宪政隔离等一系列服务保护功能键,Hystrix具备服务降级,五福熔断,县城和信号隔离,请求缓存,请求合并以及服务监控等强大功能.

回顾下之前的

在进行Hystrix搭建的时候需要开启eureka-server/两台,eureka-client/两台,eureka-consumer-ribbon-hystrix/一台
这里写图片描述

eureka-server 提供服务注册中心
eureka-client 提供两个客户端(检测负载均衡的实现)
ribbon-hystrix 通过ribbon向服务器发起请求,配置hystrix实现熔断/服务降级/县城隔离/请求隔离/请求合并/以及服务监控等强大功能.

具体实现

在pom文件中添加依赖

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

在启动类上添加注解

@SpringBootApplication  //springboot启动注解
@EnableDiscoveryClient  //eureka注册客户端注解
@EnableCircuitBreaker   //hystrix开启注解

这三个注解其实可以用@SpringCloudApplication来代替,通过观察这个注解的构成就可以发现是由这三个注解构成的,也就是说,springcloud的基本启动就会将这三个注解包含进去

/**
 * @author jbzm
 * @date Create on 2018/4/19 17:43
 * 这里使用SpringCloudApplication注解该注解包含了其他的三个注解由此可以见
 * SpringCloud自动的支持了负载均衡/注册/熔断器/springboot
 */
@SpringCloudApplication
public class EurekaConsumerReibbonHystrixApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaConsumerReibbonHystrixApplication.class, args);
    }

创建一个service通过restTemolate来发送请求,并且制定连接超时后的响应结果

    @Service
    class ConsumerService {
        @Autowired
        @LoadBalanced
        private RestTemplate restTemplate;

        @HystrixCommand(fallbackMethod = "fallback")
        public String consumer() {
            return restTemplate.getForObject("http://eureka-client/dc", String.class);
        }

        public String fallback() {
            return "fallback";
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值