hystrix 单独使用_Hystrix学习

学习主题:Hystrix

  1. 解决灾难性雪崩效应-服务熔断-服务熔断处理
    1. 熔断参数circuitBreaker.enabled的作用是什么?
    2. 熔断参数circuitBreaker.requestVolumeThreshold的作用是什么?
    3. 熔断参数circuitBreaker.sleepWindowInMiliseconds的作用是什么?
    4. 熔断参数circuitBreaker.errorThresholdPercentage的作用是什么?
    5. 熔断参数circuitBreaker.forceOpen的作用是什么?
    6. 熔断参数circuitBreaker.forceClosed的作用是什么?

95c7a20cb86da04090a603f3dcc97166.png
  1. 解决灾难性雪崩效应-隔离机制-线程池隔离-创建项目
    1. 什么是线程池隔离?
    2. 线程池隔离的优点是什么?
    3. 线程池隔离的缺点是什么?

将多个服务接口同时放到一个线程池中 ,当一个服务并发量急剧增加时 ,线程池会瘫痪,另一个线程也会完蛋

预测哪个服务接口线程并发量大 ,将并发量大的服务接口线程单独拉出来放到另一个线程池中 , 减少服务器的压力,同时这个服务出错时也不会影响其他服务

b9824b1d88c2949910b800a778bb5d08.png

解决灾难性雪崩效应-隔离机制-线程池隔离-线程池隔离处理

    1. @HystrixCommand注解中的threadPoolProperties属性的作用是什么?
    2. @HystrixProperty注解的作用是什么?
    3. 线程池隔离参数groupKey的作用是什么?
    4. 线程池隔离参数commandKey的作用是什么?
    5. 线程池隔离参数threadPoolkey的作用是什么?
    6. 线程池隔离参数coreSize的作用是什么?
    7. 线程池隔离参数maxQueueSize的作用是什么?
    8. 线程池隔离参数queueSizeRejectionThreshold的作用是什么?
    9. 线程池隔离参数keepAliveTimeMinutes的作用是什么?

4e3e9ddb644e74d9f1fd1435b57cae28.png
  1. 解决灾难性雪崩效应-隔离机制-信号量隔离-创建项目
    1. 什么是信号量隔离?

当Consumer发送大量请求到provider时 ,会访问信号量池

  1. 解决灾难性雪崩效应-隔离机制-信号量隔离-信号量隔离处理
    1. 信号量隔离参数execution.isolation.strategy的作用是什么?
    2. 信号量隔离参数execution.isolation.thread.timeoutInMiliseconds的作用是什么?
    3. 信号量隔离参数execution.isolation.thread.interruptOnTimeout的作用是什么?
    4. 信号量隔离参数execution.isolation.semaphore.maxConcurrentRequests的作用是什么?
    5. 信号量隔离参数fallback.isolation.semaphore.maxConcurrentRequests的作用是什么?

feb8c702fedc57377c11a3cf52068de3.png
  1. 线程池隔离和信号量隔离的区别
    1. 线程池隔离与信号量隔离有什么区别?
    2. 什么情况下使用线程池隔离?
    3. 什么情况下使用信号量隔离?

a43f8ab39db7674dd76802435d192067.png

dbe21d8ea36f549a822d0efc93aff287.png

cfd9cd6d2a9518c19ade42cf8d133e7e.png
  1. Feign的服务降级处理-创建项目
  2. Feign的服务降级处理-服务降级处理
    1. 修改业务层代码,在Feign中配置服务降级。

修改全局配置文件

#Feign默认不开启Hystrix,为false

feign:

hystrix:

enabled: true

接口中指定服务项目名,托底数据类

@FeignClient(name="Ego-Provider-Provider",fallback=ConsumerServiceImplRallback.class)//使用@FeignClient注解 name属性指定服务提供者的应用名

  1. 启动服务测试效果。

d78927605606ec0659c552c376f316b5.png
  1. 服务降级后的异常记录
    1. 为什么要记录降级后的异常信息。

在使用Feign的开发过程中 ,出现了托底数据 ,

可以通过这种方式获取异常的相关信息 ,帮助我们解决异常

  1. 在项目中开启可视化的数据监控Hystrix-dashboard
    1. 什么是Hystrix-dashboard?
    2. @EnableHystrix注解的作用是什么?
    3. @EnableHystrixDashboard注解的作用是什么?

Hystrix-dashboard 是一款针对 Hystrix 进行实时监控的工具,通过 Hystrix Dashboard 我们可以在直观地看到各 Hystrix Command 的请求响应时间, 请求成功率等数据。

@EnableHystrix 开启数据监控

@EnableHystrixDashboard 开启图形化界面

  1. 搭建Hystrix-dashboard数据监控中心
    1. 创建数据监控中心服务。
    2. 修改POM文件,添加actuator启动器,添加hystrix启动器、hystrix-dashboard启动器。
    3. 需改启动类添加开启Hystrix与HystrixDashboard。
    4. 按照启动顺序启动服务。
    5. 访问HystrixDashboard服务,查看数据。

server:

port: 9999

spring:

application:

name: Eureka-Consumer-Ribbon-DashBoard-view

#可有可无,添加Eureka的目的是方便管理服务

eureka:

client:

serviceUrl:

defaultZone: http://admin:admin@eureka1:8761/eureka/,http://admin:admin@eureka2:8761/eureka/

123e22019a43df5a4455540c2b9532cf.png
  1. 创建Turbine聚合服务器
    1. Turbine的作用是什么?
    2. @EnableTurbine注解的作用是什么?

Turbine对监控服务做了聚合 ,但是仍需要依赖Dashboard

@EnableTurbine:开启聚合服务

  1. 使用Turbine对多个服务进行监控
  2. Turbine默认监听端口是多少?
  3. @EnableHystrixDashboard注解的作用是什么?

8080

@EnableHystrixDashboard:开启数据监控的图形化界面

  1. 使用Turbine监控集群
    1. 通过Turbine查看集群监

4c328e5e7fe8b8656c51a8eacdeb1c08.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/380946.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Centos7搭建Ngrok

安装gcc和git(下载ngrok源码) yum install gcc -y yum install git -y yum install -y mercurial git bzr subversion golang golang-pkg-windows-amd64 golang-pkg-windows-386 yum update -y nss curl libcurl yum -y install gcc automake auto…

WebClient与WebRequest差异

WebRequst的使用 WebClient和HttpWebRequst是用来获取数据的2种方式,在我的这篇数据访问(2)中主要是讲的WebClient的使用,一般而言,WebClient更倾向于“按需下载”,事实上掌握它也是相对容易的,而HttpWebRequst则允许你…

连接字符串

方式一:可以使用运算符**“”**来连接字符串 public class StringBufferReview {/*** 方式一:使用连接* param args*/public static void main(String[] args) {String s1 "hello";String s2 "Java";String s3 s1s2;System.out.…

的使用_面部精华使用方法和使用步骤;

核心提示:精华液,是护肤品中之极品,成分精致、功效强大、效果显著,始终保持着它拥有的高贵和神秘。精华液中的基质是水,含有硅树脂,有利于渗透进皮肤和推开,其它添加成分,则带有治疗…

处理字符串中的单个字符CharAt()

1、解决方法:采用循环以及String类的charAt()方法 charAt()方法将返回String对象中索引值**(从0开始)**位置的字符。所以,我们只需要执行从0到String.length()-1的循环,就能够依次处理字符串中的所有字符。 注意&#…

Acer Travelmate T3290笔记本拆机指南

中午闲来无事,把永哥的笔记本拆了(Acer Travelmate某款,很老的机器了)。整个过程有惊无险,也没拍照片,大体说下拆机流程吧,如果有人要拆该系笔记本可以参考。 先卸电池。拿掉诸如读卡器盖&#…

解决VS2013中出现类似于error C4996: 'scanf': This function or variable may be unsafe的安全检查错误

禁用安全检查,一步到位! 参考URL:https://blog.csdn.net/dan15188387481/article/details/49622783

横向全屏滑动插件_【案例】JQuery横向手风琴图片轮播切换代码

点击上方[我分享我快乐]→[...]右上角→[设为星标⭐]即可第一时间获取最新设计资源哈喽大家好,又到了每周二经典案例环节啦~同学们还想了解哪些网页知识今天段老师给同学们带来的是JQuery横向手风琴图片轮播切换代码。01脚本简介jQuery实现水平手风琴图片轮播切换特…

Spring学习大杂烩(待续)

IOC控制反转:依赖注入:需要的jar文件dist\spring.jarlib\jakarta-comnons\comnons-logging.jarlib\aspectj\aspectjweaver.jaraspectjrt.jarlib/cglib/cglib nodep2.1_3.jarlib\j2ee\common-annotation.jar实例化Spring容器的方法ApplicationContext ctx…

将字符串全部转为大写或者小写

1、全部转大写,使用toUpperCase()方法;全部转小写,使用toLowerCase()方法 public class StringUpperAndLowerReview {public static void main(String[] args) {String s "Hello jaVa";System.out.println(s.toUpperCase());Syst…

是网关吗_什么是边缘控制器?就是IPC+PLC+网关吗?今天就拆开一个来看看

边缘计算作为云计算的一项重要补充,在构建互联工厂中的作用正越来越受到重视。边缘计算实现了数据在网络边缘侧的分析、处理与储存,不仅减少了对云端依赖,也提高了数据的安全性。不管是因为云计算本身,还是网络传输受限&#xff0…

删除字符串的前置或者后置空格

解决方法:String类的trim()方法提供了此功能,trim()方法可以删除个行开头的空格和TAB符 public class TrimReview {public static void main(String[] args) {String s " xxxx ";System.out.println(s.trim());} }结果:

Oracle数据库的备份

这两天要用oracle的数据备份,在网上找了找例子。给大家贴出来看看。PS: 选择数据库中所有的表的SQL语句SELECT * FROM DBA_TABLES WHERE OWNER(填用户名);------------------------------------------------------------------------------ 一…

python 网格交易源码下载_GitHub - xiongyixiaoyang/grid-trading: 网格交易(期货) ,基于网格交易方法的交易策略...

# codingutf-8from __future__ import print_function, absolute_import, unicode_literalsimport numpy as npimport pandas as pdfrom gm.api import *本策略首先计算了过去300个价格数据的均值和标准差并根据均值加减1和2个标准差得到网格的区间分界线,并分别配以0.3和0.5的…

python3 安装Crypto 出现的问题

python3 import Crypto 失败的解决办法 (AES对称加密使用 模块) # 先导入所需要的包 pip3 install Crypto # 再安装pycrypto pip3 install pycrypto from Crypto.Cipher import AES # 就成功了 ------------------------------- python3安装crypto出…

基于Windows 7旗舰版搭建WinCE6.0开发环境的过程

首先感谢JeffreyLi提供了更简便的安装WinCE6.0 R3的方法,今天验证过了,确实比我之前整理的《WinCE6.0 R3的安装步骤》方便很多,十分感谢! 为了方便大家参考,重新整理的安装步骤如下: *Please install the …

随机邮箱_msgsafe - 一个处于半死不活状态的加密邮箱

一个半死不活的、还算有点意思的、支持端到端加密的免费邮箱,目前看来。邮箱简介好像自从Protonmail火了之后,支持端到端加密的邮箱越来越多,但大多有一个共同点:后缀都不怎么样。msgsafe.io于2016年建立,当年为了推广…

Spring环境搭建

1、导包(此处省略如何下载Spring文件) 打开我们的spring-framework-4.2.3.RELEASE文件(这里我们只导入最基础的几个包),再打开libs文件: 找到以下几个包: 复制粘贴到eclipse中去,如…

win下python2,3和pip2,3双版本共存

在python环境中,有些开发需要依赖于python3的安装包,然而有些又需要python2才能运行。索性将python2和python3同时安装,并配置好各自的运行方式,以及各版本的pip。方便在需要安装工具包的时候,能准确定位到相应的版本。…

MFC 弹出对话框MessageBox

原来是这样的:AfxMessageBox(message); 就这么简单……转载于:https://www.cnblogs.com/youring2/archive/2010/08/25/1807719.html