springcloud hystrix 容错机制

玄机-Linux权限维持-后门 阅读详情

1.pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <artifactId>springcloudDemo</artifactId>
        <groupId>org.example</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <groupId>com.weitao</groupId>
    <artifactId>springcloud-hystrix</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springcloud-hystrix</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
            <version>2.2.6.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
            <version>2.2.6.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
            <version>2.2.6.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
            <version>2.2.6.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
            <version>2.2.6.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.example</groupId>
            <artifactId>springcloud-api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>


    </dependencies>


    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
    <repositories>
        <repository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>

</project>

2.application.yml

server:
  port: 8060
spring:
  application:
    name: hystrix
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/
  instance:
    prefer-ip-address: true
    instance-id: ${spring.application.name}:${server.port}
#断路器,起到降级作用,避免服务雪崩
feign:
  hystrix:
    enabled: true

management:
  endpoints:
    web:
      exposure:
        include: 'hystrix.stream'
hystrix:
  dashboard:
    proxy-stream-allow-list: localhost

3.代码结构

4.具体代码

package com.example.springcloud.controller;

import com.example.springcloud.fegin.FeginDept;
import com.example.springcloud.pojo.Dept;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/hystrix")
public class HystrixController {

    @Autowired
    private FeginDept feginDept;

    @GetMapping("/select")
    public List<Dept> get() {
        return feginDept.selectAll();
    }

    @GetMapping("/select/{id}")
    public Dept selectByID(@PathVariable(name = "id") Long id) {
        return feginDept.selectByID(id);
    }

    @PostMapping(value = "/save", produces = "application/json")
    public boolean saveDept(@RequestBody Dept dept) {
        return feginDept.saveDept(dept);
    }

    //假如服务提供者没启动,直接访问/handle/getInfo 那么容错机制就会调用FeginDept  fallback属性设置FeginError 里的方法
    @GetMapping("/getInfo")
    public String getInfo() {
        return feginDept.getInfo();
    }
}
package com.example.springcloud.fegin;

import com.example.springcloud.pojo.Dept;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * 接口注解方式
 * value="provider" 调用提供者的应用名称
 */
@FeignClient(value = "provider")
public interface FeginDept {

    @PostMapping(value = "/dept/save",produces = "application/json")
    boolean saveDept(@RequestBody  Dept dept);


    @GetMapping("/dept/select/{id}")
    Dept selectByID(@PathVariable("id") Long id);

    @GetMapping("/dept/select")
    List<Dept> selectAll();


    @GetMapping("/dept/getInfo")
    String getInfo();

}
package com.example.springcloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.hystrix.EnableHystrix;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
import org.springframework.cloud.openfeign.EnableFeignClients;

@SpringBootApplication
@EnableFeignClients
@EnableHystrix
@EnableHystrixDashboard           //声明启用可视化数据监控
public class SpringcloudHystrixApplication {

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

}

5.运行注册中心,提供者,和 Hystrix模块入口

6.  http://localhost:8060/actuator/hystrix.stream 

这个界面一直ping输出
 

7.访问接口

http://localhost:8060/hystrix/select

 

8.  http://localhost:8060/hystrix  

这个打开hystrix仪表盘 ,可以输入http://localhost:8060/actuator/hystrix.stream 

 

9.跳转到页面

 

Xilinx_JESD204B Xilinx_JESD204B_AXI配置 说明:通过FPGA的高速数据接口JESD204B对AD9625进行高速采集。 环境:Vivado2018.3。 IP核:JESD204(7.2)。 参考手册:pg066_jesd204 v7.2。 资料以及IP_licence:JESD204B AXI协议资料:AXI 文章目录JESD204B概述JESD204B接口术语JESD204B 层JESD204B_AXI介绍AXI介绍JESD204B__AXI_Lite接口AXI-Lite接口介绍AXI-Lite接口信号 阅读详情

相关推荐

Raptor码(一):2007RFC5053标准编解码学习

RFC 5053 标准

a_beatiful_knife的博客 3493

springcloud(四)sentine服务容错规则

一、Sentinel的概念和功能 基本概念 资源 资源就是Sentinel要保护的东西 资源是 Sentinel 的关键概念。它可以是 Java 应用程序中的任何内容,可以是一个服务,也可以是 一个方法,甚至可以是一段代码。 我们入门案例中的message1方法就可以认为是一个资源 规则 规则就是用来定义如何进行保护资源的 作用在资源之上, 定义以什么样的方式保护资源,主要包括流量控制规则、熔断降级规则以及系统 保护规则。 我们入门案例中就是为message1资源设置了一

qq_44185887的博客 979

WinIDEA基于IC5000烧录代码和调试教程

winIDEA就是ic5000用来烧录代码和调试代码的上位机,本文旨在介绍其如何去烧录代码并且调试

m0_56208280的博客 4163

【Spring Cloud】高并发带来的问题及常见容错方案

在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,但是由于网络原因或者自身的原因,并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络延迟,此时若有大量的网络涌入,会形成任务堆积,最终导致服务瘫痪。

阿Q的小窝 3926

PVE(Proxmox VE)添加VMware Esxi并迁移虚拟机

跨平台迁移虚拟机:从VMware虚拟化平台迁移虚拟机到PVE平台。

VEGETA的博客 7718

PX4/ArduPilot源码克隆提速秘籍:国内镜像与子模块优化全攻略

本文详细介绍了PX4/ArduPilot源码克隆的提速秘籍,包括使用国内镜像源和子模块优化技巧。通过阿木实验室、华为云等国内镜像,克隆速度可提升20倍,同时提供子模块替换和并行编译等实用方法,大幅提升开发效率。

weixin_29251567的博客 524

SpringCloud | 第七章: Hystrix 服务容错机制

服务出错怎么办?你有容错机制吗?

雜言非語 490

维纳(Wiener)复原滤波器的三种推导形式及其在图像处理中的应用

本文深入解析了维纳(Wiener)复原滤波器的三种核心推导形式:卷积形式、矩阵向量形式和频域形式,并重点阐述了其基于线性最小均方误差(LMMSE)估计的核心思想。通过Python实战演示,展示了频域形式如何高效地在图像去模糊与噪声抑制之间取得平衡,是图像复原领域的经典且实用的工具。

net55的博客 578

Spring Cloud Alibaba Sentinel - - > 容错机制

Sentinel 主要用来解决微服务架构中出现的一些可用性问题,从而实现系统的高可用。系统在运行过程中不可能不出现问题,我们需要做的是在系统出现问题的时候,通过容错机制来避免系统长时间处于不可用状态 (对于失败的请求可以通过定时任务做补偿)。

想好了就去做吧 即便失败了 至少这条路上留下了你的脚印 1120

21天学会PCIe专栏(4.3)--PCIe配置方法

通过本节的学习,你应该对PCIe配置方法有了更深入的了解。软件配置方法包括直接访问和间接访问,可以通过特定的I/O指令或系统调用进行配置。硬件配置方法包括通过BIOS/UEFI设置和跳线设置,可以根据需要修改PCIe设备的配置参数。

xiaoheshang_123的博客 722

【TC3xx芯片】TC3xx芯片PFlash的ECC校验问题补充

TC3xx芯片PFlash的ECC校验问题补充

qq_36056498的博客 1153

Spring Cloud Hystrix:服务容错与熔断

Spring Cloud Hystrix:服务容错与熔断

qq_35763697的博客 1307

AOSP 8.0.0编译中的ANDROID_DATA缺失问题解决方案

在AOSP编译过程中,环境变量和路径设置的正确性至关重要。遇到相关的错误时,检查并修正环境配置通常是解决问题的关键。希望本文提供的分析和解决方案能帮助你顺利编译AOSP。

m0_74337424的博客 398

Springcloud之Hystrix容错机制

1、什么是Hystrix 在一个分布式系统中,必然会有部分系统的调用会失败。所以就产生了Hystrix。Hystrix是一个 通过添加超时容错和失败容错逻辑来帮助你控制这些分布式系统的交互。Hystrix通过隔离服务之间的访问,阻止他们之间的级联故障以及提供后背选项来实现这些,所有新而这些都用来提高系统的整体弹性。 如不会搭建springcloud项目的可以参考我的博客:https://e...

qq_43222167的博客 233

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

SpringCloud容错机制(Hystrix服务降级)

SpringCloud容错机制 Hystrix服务降级

qq_39263750的博客 1484

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Spring Cloud - Spring Cloud 容错监控机制(容错监控机制概述、Hystrix 使用、Hystrix 可视化界面)

Spring Cloud - Spring Cloud 容错监控机制(容错监控机制概述、Hystrix 使用、Hystrix 可视化界面)

weixin_52173250的博客 523

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

SpringCloud核心组件Hystrix断路器与容错机制

微服务架构是一种设计模式,它提倡将单一应用程序开发为一组小型服务,每个服务运行在其独立的进程中,并通过轻量级通信机制(通常是HTTP资源API)相互协作。每个服务都是围绕业务功能构建的,能够独立部署、扩展和维护。这种架构模式提高了系统的可维护性、可扩展性和灵活性,但也带来了服务间通信的复杂性和故障传播的风险。

kkchenjj的博客 1220

服务容错与熔断机制:Hystrix在Spring Cloud中的实战应用

服务容错与熔断机制:Hystrix在Spring Cloud中的实战应用 本文深入探讨了Hystrix在Spring Cloud微服务架构中的核心应用,全面解析了Hystrix熔断器的工作原理、配置方法和实战技巧。文章详细介绍了Hystrix的三种状态机制(关闭、打开、半开),并通过流程图直观展示了其工作流程。同时,提供了丰富的配置参数说明和Spring Cloud中的具体配置示例,包括YAML配...

gitblog_00031的博客 474

微服务学习笔记八 Spring Cloud Hystrix容错机制

Hystrix 容错机制 在不改变各个服务器调用关系的前提下,针对错误情况进行预先处理。 设计原则: 1)服务隔离机制 2)服务降级机制 3)熔断机制 4)提供实时的监控和报警功能 5)提供实时的配置修改功能 Hystrix数据监控需要结合Spring Cloud Actuator来使用,Actuator提供了 对服务的健康监控、数据统计,可以通过hystrix.stream节点获取监控的请求数据, 提供了可视化的监控界面。 创建maven模块 pom.xml <dependencies>

qq_44969643的博客 1万+

springCloud学习(五)之Hystrix容错机制和Spring Cloud 配置中心

springCloud学习之Hystrix容错机制和Spring Cloud 配置中心

weixin_48043343的博客 171

feign 回退原因_SpringCloud学习笔记(4):Hystrix容错机制,

SpringCloud学习笔记(4):Hystrix容错机制,简介在微服务架构中,微服务之间的依赖关系错综复杂,难免的某些服务会出现故障,导致服务调用方出现远程调度的线程阻塞。在高负载的场景下,如果不做任何处理,可能会引起级联故障,导致服务调用方的资源耗尽甚至整个系统奔溃。Hystrix是一个由Netflix开源的一个延迟和容错库,它通过添加延迟容忍和容错逻辑来帮助控制这些微服务之间的交互。Hys...

weixin_42528534的博客 151

Spring Cloud 入门(三)Hystrix 容错机制 与 数据监控、Config 配置中心、Zipkin 服务跟踪

文章目录一、Hystrix 容错机制 与 数据监控二、Config 配置中心1、本地文件系统2、远程仓库三、服务跟踪 一、Hystrix 容错机制 与 数据监控      容错机制是指 在不改变各个微服务的调用关系的前提下,针对错误情况进行预先处理。(可以联想电路中的保险丝,当电路中某个单元发生故障了,就通过烧断保险丝的方式来阻止事故继续蔓延。)      Hystrix 的主要作用就是 当服务提供者发生故障无法访问的时候,向服

weixin_41750142的博客 533

Spring-Cloud-hystrix-(容错机制)

Spring-cloud-hystrix-容错机制(当服务调用异常时进行响应) 1.在App.java中开启容错保护(加入此注解开启容错机制@EnableCircuitBreaker) @SpringBootApplication @EnableEurekaClient @EnableCircuitBreaker public class RequestApp { /** *...

weixin_30908103的博客 153

SpringCloud集成Netflix Hystrix

文章目录HystrixHystrix的应用背景Hystrix容错机制服务隔离服务熔断服务回退Hystrix的核心HystrixCommand Hystrix Hystrix的应用背景   在微服务架构中,往往会涉及到众多的微服务,比如说现有三个微服务,微服务A,微服务B,微服务C,而它们之间的依赖关系为,微服务C依赖于微服务B,微服务B又依赖于微服务A,现假设微服务A,不可用,那么受此连累,微服务...

ZZY1078689276的专栏 663

七、Spring Cloud 之旅 -- Hystrix 微服务保护和容错机制

在分布式环境中,总会有些节点或者依赖的服务时效(宕机,网络延迟等), Hystrix的出现就是来很好的处理这种可怕问题的,它里面增加了很多容错机制,比如修改请求的线程池大小、信号量等来帮助我们控制分布式系统间组件的交互。Spring Cloud将Hystrix整合到Netflix项目中,Hystrix通过隔离服务间的访问点、停止他们之间的级联故障、提供可回退操作来实现容错。 好了,概念啰嗦...

一只猿的自我修养 874

我的Spring Cloud(八):Hystrix 容错机制与数据监控

一、概述 容错机制是指的是在一个分布式系统中,每个微服务之间是相互调用的,并且他们之间相互依赖,而实际的运行情况中,可能会因为各种原因导致某个微服务不可用,那么依赖于这个微服务的其他微服务就可能出现响应时间过长或者请求失败的情况,出现这种情况比较多就可能导致整个系统卡顿甚至奔溃。那么如何解决这个问题呢,就可以通过Hystix的容错机制来处理。 容错机制是指在不改变各个微服务的调用关系的前提下,针对错误情况进行预先处理。Hystrix的主要作用就是当服务提供者发生故障无法访问的时候,向服务...

Java觉浅的博客 355
上一篇: centos rocketmq4.8 单机 安装和使用
下一篇: springcloud config远程配置
SOMECT
博客等级 码龄15年 11粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值