代码编织梦想

一.Hystrix容错机制:在不改变各个微服务调用关系的前提下,针对错误情况进行预先的处理

设计原则

  1. 服务隔离机制

  1. 服务降级机制

  1. 熔断机制

  1. 提供实时的监控和报警功能

  1. 提供实时的配置修改功能

二.Hystrix数据监控需要结合Spring Cloud Actuator提供了对服务的健康监控,数据统计,可以通过hystrix-stream节点获取监控的请求数据,提供了可视化监控界面

  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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>ygdSpringCloud</artifactId>
        <groupId>org.example</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>Hystrix</artifactId>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
            <version>2.0.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
            <version>2.0.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
            <version>2.0.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
            <version>2.0.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
            <version>2.0.2.RELEASE</version>
        </dependency>
    </dependencies>

</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
feign:
  hystrix:
    enabled: true
    # s数据监控节点 localhost:8060/actuator/hystrix.stream
management:
  endpoints:
    web:
      exposure:
        include: 'hystrix.stream'

3.启动类

@SpringBootApplication
@EnableFeignClients
@EnableCircuitBreaker //声明启用数据监控
@EnableHystrixDashboard //声明启用可视化数据监控
public class HystrixApplication {
    public static void main(String[] args) {
        SpringApplication.run(HystrixApplication.class,args);
    }
}

4.查看监控数据http://localhost:8060/actuator/hystrix.stream

37047c3c31dedd1968fef724bd2dac76.png

5.可视化平台http://localhost:8060/hystrix 填入监控的节点:http://localhost:8060/actuator/hystrix.stream

47ab4f310dac9ff38202a8159f9d1bdc.png

三.Spring Cloud 配置中心

  1. 本地配置

aea2e1e58b75bce50fc603b4889af075.png

server端配置

 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
            <version>2.0.2.RELEASE</version>
        </dependency>
server:
  port: 8762
spring:
  application:
    name: nativeconfigserver
  profiles:
    active: native
  cloud:
    config:
      server:
        native:
          search-locations: classpath:/shared

shared配置文件 configclient-dev.yml

server:
  port: 8070
foo: foo version 1

client端配置文件

 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
            <version>2.0.2.RELEASE</version>
        </dependency>

配置bootstrap.yml文件

spring:
  application:
    name: configclient
  profiles:
    active: dev
    #本地ConfigDServer的访问路径
  cloud:
    config:
      uri: http://localhost:8762
      fail-fast: true

2.远程拉取配置

我们拉取config配置文件

10978b89a869f7537e27b5d7cddba84f.png

server端配置:

server:
  port: 8888
spring:
  application:
    name: configserver
  cloud:
    config:
      server:
        git:
          #githhub地址
          uri: 
          search-paths: config
          #远程仓库的用户名密码
          username: 
          password: 
        default-label: master
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_48043343/article/details/129669068

七、spring cloud 之旅 -- hystrix 微服务保护和容错机制_冲冲冲!!!的博客-爱代码爱编程

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

Springcloud之Hystrix容错机制-爱代码爱编程

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

微服务学习笔记八 Spring Cloud Hystrix容错机制-爱代码爱编程

Hystrix 容错机制 在不改变各个服务器调用关系的前提下,针对错误情况进行预先处理。 设计原则: 1)服务隔离机制 2)服务降级机制 3)熔断机制 4)提供实时的监控和报警功能 5)提供实时的配置修改功能 Hystrix数据监控需要结合Spring Cloud Actuator来使用,Actuator提供了 对服务的健康监控、数据统计,可以通过hyst

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

文章目录 一、Hystrix 容错机制 与 数据监控二、Config 配置中心1、本地文件系统2、远程仓库三、服务跟踪四、总结 代码在 https://github.com/betterGa/SpringCloudDemo 一、Hystrix 容错机制 与 数据监控      容错机制是指 在不改变各个微服务的调用关系的前提下,针对错误情

Spring Cloud 学习笔记(1 / 3)-爱代码爱编程

Spring Cloud 学习笔记(2 / 3) Spring Cloud 学习笔记(3 / 3) ---01_前言闲聊和课程说明02_零基础微服务架构理论入门03_第二季Boot和Cloud版本选型04_Cloud组件停更说明05_父工程Project空间新建06_父工程pom文件07_复习DependencyManagement和Dependenc

SpringCloud微服务之四:使用Hystrix实现微服务的容错限流-爱代码爱编程

SpringCloud微服务之四:使用Hystrix实现微服务的容错限流 文章目录 SpringCloud微服务之四:使用Hystrix实现微服务的容错限流一、雪崩效应1、雪崩效应概念2、雪崩效应形成原因3、雪崩效应应对策略二、如何容错三、使用Hystrix实现容错1、Hystrix简介2、整合Hystrix3、Hystrix核心配置四、Feig

SpringCloud-Alibaba之Hystrix-爱代码爱编程

此文章主要讲解 springcloud 中服务熔断Hystrix(豪猪哥)的相关知识。 服务容错的核心知识 雪崩效应 在微服务架构中,一个请求需要调用多个服务是非常常见的。如客户端访问A服务,而A服务需要调用B服务,B服务需要调用C服务,由于网络原因或者自身的原因,如果B服务或C服务不能及时响应,A服务将处于阻塞状态,直到B服务C服务响应。此时如

springcloud hystrix 容错机制-爱代码爱编程

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:sc

五、SpringCloud学习 -- Hystrix-爱代码爱编程

官网: https://github.com/Netflix/Hystrix/wiki/代码地址: https://github.com/becauseoflife/CodeDemo/tree/main/SpringCloud/Hystrix/springCloud 服务雪崩 多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服

springcloud学习(五)-hystrix(服务的隔离及熔断器)_卷不动躺不平的粥的博客-爱代码爱编程

title: springcloud学习(五)-Hystrix(服务的隔离及熔断器) date: 2021-1-25 tags: 微服务springcloud学习(五)-Hystrix(服务的隔离及熔断器)springcloudspringspringboot categories:微服务springcloudspringcloud学习(五)-Hystr

spring cloud 之 hystrix_kuo-teng的博客-爱代码爱编程

Spring Cloud 之 Hystrix 1. Feign+Hystrix实现RPC调用保护2. Spring Cloud Hystrix失败回退3. Spring Cloud Hystrix熔断器 1. Feign+Hystrix实现RPC调用保护 在Spring Cloud微服务架构下,RPC保护可以通过Hystrix开源组件来实现,

springcloud五大组件 --- hystrix服务熔断和降级_@烟雨倾城ゝ的博客-爱代码爱编程

9. Hystrix:服务熔断 9.1 服务雪崩 多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其他的微服务,这就是所谓的“扇出”,如果扇出的链路上某个微服务的调用响应时间过长,或