您的位置:首页 > 财经 > 产业 > 企业建站模板价格_网站推广方式都有哪些_环球资源网站网址_贵阳做网络推广的公司

企业建站模板价格_网站推广方式都有哪些_环球资源网站网址_贵阳做网络推广的公司

2024/12/27 22:09:41 来源:https://blog.csdn.net/howwickhappy/article/details/142633926  浏览:    关键词:企业建站模板价格_网站推广方式都有哪些_环球资源网站网址_贵阳做网络推广的公司
企业建站模板价格_网站推广方式都有哪些_环球资源网站网址_贵阳做网络推广的公司

系列文章目录

JavaSE
基础知识、数据类型学习万年历项目代码逻辑训练习题
代码逻辑训练习题方法、数组学习图书管理系统项目
面向对象编程:封装、继承、多态学习封装继承多态习题常用类、包装类、异常处理机制学习
集合学习IO流、多线程学习仓库管理系统JavaSE项目
员工管理系统、多表查询、反射实现DBHelper学习DML、DDL、数据库对象学习
JavaWeb
网络编程、各种标签、CSS学习ECMAScript、BOM学习DOM、jQuery学习
Servlet、JSP、Cookie、Ajax学习融资管理系统JavaWeb项目
框架
MyBatis框架学习逆向工程、Spring框架IOC、AOP学习SpringMVC框架学习
SpringBoot框架学习招聘网站框架项目Vue介绍、窗体内操作、窗体间操作学习
Vue路由配置、网络请求访问框架项目、element组件介绍学习标准管理系统Vue项目
微服务
Linux安装、Nginx反向代理、负载均衡学习Docker学习Jenkins学习
Nexus学习Spring Security学习RabbitMQ学习
Redis学习MongoDB学习MongoDB学习
Nacos学习Spring Session学习Spring Gateway学习
JSR 303学习OpenFeign学习Dubbo学习
Hystrix学习

文章目录

  • 系列文章目录
  • 前言
  • 一、Hystrix介绍
    • 1. Hystrix介绍
    • 2. Hystrix的作用
    • 3. Hystrix使用场景
  • 二、Hystrix代码实现
    • 1. 项目基础
    • 2. 开启Nacos和Redis环境
    • 3. 添加依赖
    • 4. 更改项目名(可不更改)
    • 5. 开启注解
    • 6. 添加熔断函数
    • 7. 添加setMessage方法
    • 8. 添加配置信息
    • 9. 运行demo-session-01后运行demo-session-02
  • 三、仪表盘
    • 1. 添加依赖
    • 2. 添加配置类
    • 3. 启动类添加注解
    • 4. 启动项目、访问网址
  • 总结


前言

本文我们要讲述:
Hystrix
通过网盘分享的文件:SpringSession——OpenFeign.zip
链接: https://pan.baidu.com/s/1uKEYyQ80RGMnDsoa5j9v5Q?pwd=tmm5 提取码: tmm5
在下攸攸太上。


一、Hystrix介绍

Hystrix是一个用于处理分布式系统的延迟和容错的开源库。其主要作用是通过控制服务之间的通讯,从而对延迟和故障提供了强大的支持。

1. Hystrix介绍

Hystrix是一个用于处理分布式系统的延迟和容错的开源库,它的核心目标是防止分布式系统中的雪崩效应。当某个服务发生故障时,故障可能会向下游服务传播,最终导致整个系统的崩溃。Hystrix通过引入熔断器的概念,允许您对延迟和故障进行控制,从而提高系统的弹性和可靠性。

2. Hystrix的作用

熔断:当某个服务出现故障时,Hystrix可以熔断对该服务的请求,防止故障向下游传播,从而减少系统的崩溃风险。
查看微服务请求状态:Hystrix可以提供对微服务请求状态的监控和统计,帮助您了解服务的健康状况和性能表现。

3. Hystrix使用场景

Hystrix主要适用于微服务架构下的场景,特别是在面对高并发和复杂的微服务通信时更为重要。
在高并发和负载下,Hystrix可以帮助应对突发的请求压力,防止因为高负载导致系统崩溃。
根据业务需求,如果对熔断的需求相对简单,可以选择使用Hystrix。但如果需求更为复杂,可以考虑使用Sentinel,Sentinel功能更加丰富,包括限流、熔断等功能。

二、Hystrix代码实现

1. 项目基础

本项目基于OpenFeign的两个项目实现,可以在下面的网盘链接取到
SpringSession——OpenFeign.zip
可以看我之前的OpenFeign学习文章,里面会有介绍

以下更改均在demo-session-01内更改,demo-session-02无需任何改动,如需改动,会特别标出

2. 开启Nacos和Redis环境

docker start nacos
docker start redis-6379

在这里插入图片描述

3. 添加依赖

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

4. 更改项目名(可不更改)

application.properties配置文件内配置了项目名,更改为:

spring.application.name=hystrixdemo

5. 开启注解

在SpringBootMain启动类中

@EnableHystrix

在这里插入图片描述

6. 添加熔断函数

更改UserController类下的info方法,添加infoHystrix方法

    @GetMapping@HystrixCommand(fallbackMethod = "infoHystrix") //一旦熔断了,就去执行infoHystrix方法。public Result info(){UserDto userDto=userService.info();return Result.ok().put("data",userDto);}public Result infoHystrix() {return Result.error().setMessage("被熔断了");} 

在这里插入图片描述

7. 添加setMessage方法

在Result工具类中,添加setMessage方法

    public Result setMessage(String message){this.message = message;return this;}

8. 添加配置信息

在application.yml配置文件中添加如下配置信息

feign:hystrix:enabled: true

9. 运行demo-session-01后运行demo-session-02

在这里插入图片描述
关闭demo-session-02项目,刷新页面
在这里插入图片描述

三、仪表盘

1. 添加依赖

        <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency>

2. 添加配置类

package com.jjy.config;import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import javax.servlet.http.HttpServlet;@Configuration
public class HystrixConfig {@Beanpublic ServletRegistrationBean<HttpServlet> httpServletServletRegistrationBean() {ServletRegistrationBean<HttpServlet> result = new ServletRegistrationBean<>(new HystrixMetricsStreamServlet());result.addUrlMappings("/actuator/hystrix.stream");return result;}
}

3. 启动类添加注解

SpringBootMain启动类内添加如下注解

@EnableHystrixDashboard

在这里插入图片描述

4. 启动项目、访问网址

先访问项目地址http://127.0.0.1:100/user
在这里插入图片描述
访问http://localhost:100/hystrix,出现如下页面
在这里插入图片描述
长条框中输入http://localhost:100/actuator/hystrix.stream;
Delay默认2000ms;
Title随意写。
在这里插入图片描述
点击Monitor Stream按钮后,不断刷新项目http://127.0.0.1:100/user
在这里插入图片描述
关闭demo-session-02项目后,不断刷新项目http://127.0.0.1:100/user
在这里插入图片描述
我们可以访问http://localhost:100/actuator/hystrix.stream,里面是这样的
在这里插入图片描述


总结

本文讲述了:
Hystrix:解决熔断问题
在下攸攸太上,所有扣我的人,我都会诅咒她,三天之内吃米线拉稀。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com