SpringCloud Netflix Hystrix
文章目录
- 一、 Hystrix简介
- 1 什么是灾难性雪崩效应
- 2 什么是Hystrix
- 二、 服务降级(Ribbon中)
- 三、 服务熔断(Ribbon中)(服务降级的强化版)
- 四、 请求缓存(Ribbon中)(不推荐)(查询频率高,修改频率低时谨慎使用)
- 五、 Openfeign的雪崩处理
- 1 服务降级
- 2 服务熔断
- 六、 可视化的数据监控Hystrix-dashboard
一、 Hystrix简介
1 什么是灾难性雪崩效应
造成灾难性雪崩效应的原因,可以简单归结为下述三种:
1.服务提供者不可用。如:硬件故障、程序BUG、缓存击穿、并发请求量过大等。
2.重试加大流量。如:用户重试、代码重试逻辑等。
3.服务调用者不可用。如:同步请求阻塞造成的资源耗尽等。
雪崩效应最终的结果就是:
服务链条中的某一个服务不可用,导致一系列的服务不可用,最终造成服务逻辑崩溃。这种问题造成的后果,往往是无法预料的。
解决灾难性雪崩效应的方式通常有:降级、熔断和请求缓存。
2 什么是Hystrix
Hystrix是Netflix开源的一款容错框架,具有自我保护能力。为了实现容错和自我保护。
Hystrix设计目标:
1、 对来自依赖的延迟和故障进行防护和控制——这些依赖通常都是通过网络访问的
2、 阻止故障的连锁反应
3、 快速失败并迅速恢复
4、 回退并优雅降级
5、 提供近实时的监控与告警
Hystrix遵循的设计原则:
1、 防止任何单独的依赖耗尽资源(线程)
2、 过载立即切断并快速失败,防止排队
3、 尽可能提供回退以保护用户免受故障
4、 使用隔离技术(例如隔板,泳道和断路器模式)来限制任何一个依赖的影响
5、 通过近实时的指标,监控和告警,确保故障被及时发现
6、 通过动态修改配置属性,确保故障及时恢复
7、 防止整个依赖客户端执行失败,而不仅仅是网络通信
Hystrix如何实现这些设计目标?
1、 使用命令模式将所有对外部服务(或依赖关系)的调用包装在HystrixCommand或HystrixObservableCommand对象中,并将该对象放在单独的线程中执行;
2、 每个依赖都维护着一个线程池(或信号量),线程池被耗尽则拒绝请求(而不是让请求排队)。
3、 记录请求成功,失败,超时和线程拒绝。
4、 服务错误百分比超过了阈值,熔断器开关自动打开,一段时间内停止对该服务的所有请求。
5、 请求失败,被拒绝,超时或熔断时执行降级逻辑。
6、 近实时地监控指标和配置的修改。
<!-- 在Spring cloud中处理服务雪崩效应,都需要依赖hystrix组件。在Application Client应用的pom文件中都需要引入下述依赖: --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency>
二、 服务降级(Ribbon中)
降级是指,当(请求超时、资源不足等情况)发生时进行服务降级处理,不调用真实服务逻辑,而是使用快速失败(fallback)方式直接返回一个托底数据,保证服务链条的完整,避免服务雪崩。
解决服务雪崩效应,都是避免application client请求application service时,出现服务调用错误或网络问题。处理手法都是在application client中实现。我们需要在application client相关工程中导入hystrix依赖信息。并在对应的启动类上增加新的注解@EnableCircuitBreaker,这个注解是用于开启hystrix熔断器的,简言之,就是让代码中的hystrix相关注解生效。
具体实现过程如下:
1 修改application service 中的service代码
修改application service工程中的代码,模拟超时错误。此模拟中,让服务端代码返回之前休眠2000毫秒,替代具体的复杂服务逻辑。
@RequestMapping("/user/save")@ResponseBodypublic Map<String, Object> save(User user){try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("新增用户数据: " + user);Map<String, Object> result = new HashMap<>();result.put("code", "200"); // 返回的状态码result.put("message", "新增用户成功"); // 返回的处理结果消息。return result;}
}
2 application client POM依赖添加
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency>
3 application client容错处理代码
/*** 远程方法调用。访问application service,访问的地址是:http://localhost:8080/user/save* HystrixCommand注解 - Hystrix容灾处理注解。当前方法做容灾处理。* 属性fallbackMethod - 如果远程调用发生问题,调用本地的什么方法获取降级结果(托底)。*/@Override@HystrixCommand(fallbackMethod = "saveFallback")public Map<String, Object> save(User user) {// 根据服务的名称,获取服务实例。服务名称就是配置文件yml中的spring.application.name// 服务实例包括,这个名称的所有服务地址和端口。ServiceInstance instance =this.loadBalancerClient.choose("ribbon-app-service");// 访问地址拼接StringBuilder builder = new StringBuilder("");builder.append("http://").append(instance.getHost()).append(":").append(instance.getPort()).append("/user/save").append("?username=").append(user.getUsername()).append("&password=").append(user.getPassword()).append("&remark=").append(user.getRemark());System.out.println("本地访问地址:" + builder.toString());// 创建一个Rest访问客户端模板对象。RestTemplate template = new RestTemplate();// 约束响应结果类型ParameterizedTypeReference<Map<String, Object>> responseType =new ParameterizedTypeReference<Map<String, Object>>() {};// 远程访问application service。ResponseEntity<Map<String, Object>> response =template.exchange(builder.toString(), HttpMethod.GET,null, responseType);Map<String, Object> result = response.getBody();return result;}private Map<String, Object> saveFallback(User user){// 同步->异步,讲user封装成message消息,发送到RabbitMQ中。System.out.println("saveFallback方法执行:" + user);Map<String, Object> result = new HashMap<>();result.put("message", "服务器忙,请稍后重试!");return result;}
4 application client配置文件application.yml
server:port: 8081spring:application:name: ribbon-app-clienteureka:client:service-url:defaultZone: http://localhost:8761/eureka/ribbon-app-service: # 远程访问这个命名的服务ribbon: # 底层Ribbon配置NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule # 就是具体的负载均衡策略类型全名# listOfServers: localhost:8080 # 多个地址用逗号分隔。hystrix: # 配置Hystrix相关信息command: # 配置HystrixCommand相关内容default: # 所有范围execution:timeout:enabled: true # 使用Hystrix作为超时判定机制isolation:thread:timeoutInMilliseconds: 1000 # 具体的超时时间
5 application client启动类
package com.bjsxt.userclient;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;/*** EnableCircuitBreaker注解除了开启Hystrix容灾处理机制(扫描HystrixCommand注解)外,* 还会开启Hystrix相关的数据监控服务。*/
@SpringBootApplication
@EnableCircuitBreaker
public class RibbonAppClientApp {public static void main(String[] args) {SpringApplication.run(RibbonAppClientApp.class, args);}
}
三、 服务熔断(Ribbon中)(服务降级的强化版)
当一定时间内,异常请求比例(请求超时、网络故障、服务异常等)达到阀值时,启动熔断器,熔断器一旦启动,则会停止调用具体服务逻辑,通过fallback快速返回托底数据,保证服务链的完整。
熔断有自动恢复机制,如:当熔断器启动后,每隔5秒,尝试将新的请求发送给服务提供者,如果服务可正常执行并返回结果,则关闭熔断器,服务恢复。如果仍旧调用失败,则继续返回托底数据,熔断器持续开启状态。
具体实现过程如下:(-----在服务降级的基础上只需要修改application client容错处理代码的注解-----)
application client容错处理代码
/*** 远程方法调用。访问application service,访问的地址是:http://localhost:8080/user/save* HystrixCommand注解 - Hystrix容灾处理注解。当前方法做容灾处理。* 属性fallbackMethod - 如果远程调用发生问题,调用本地的什么方法获取降级结果(托底)。* 属性commandProperties - 定义Hystrix容灾逻辑的具体参数。* CIRCUIT_BREAKER_REQUEST_VOLUME_THRESHOLD - 单位时间内,多少个请求发生错误(默认值10),开启* 熔断(断路由)* CIRCUIT_BREAKER_ERROR_THRESHOLD_PERCENTAGE - 单位时间内,错误请求百分比,开启* 熔断(断路由)* CIRCUIT_BREAKER_SLEEP_WINDOW_IN_MILLISECONDS - 断路由开启后,休眠多少毫秒(默认值5000),不访问* 远程服务。*/@Override@HystrixCommand(fallbackMethod = "saveFallback", commandProperties = {@HystrixProperty(name=HystrixPropertiesManager.CIRCUIT_BREAKER_REQUEST_VOLUME_THRESHOLD,value="10"),@HystrixProperty(name=HystrixPropertiesManager.CIRCUIT_BREAKER_ERROR_THRESHOLD_PERCENTAGE,value="50"),@HystrixProperty(name=HystrixPropertiesManager.CIRCUIT_BREAKER_SLEEP_WINDOW_IN_MILLISECONDS,value="3000")})public Map<String, Object> save(User user) {// 根据服务的名称,获取服务实例。服务名称就是配置文件yml中的spring.application.name// 服务实例包括,这个名称的所有服务地址和端口。ServiceInstance instance =this.loadBalancerClient.choose("ribbon-app-service");// 访问地址拼接StringBuilder builder = new StringBuilder("");builder.append("http://").append(instance.getHost()).append(":").append(instance.getPort()).append("/user/save").append("?username=").append(user.getUsername()).append("&password=").append(user.getPassword()).append("&remark=").append(user.getRemark());System.out.println("本地访问地址:" + builder.toString());// 创建一个Rest访问客户端模板对象。RestTemplate template = new RestTemplate();// 约束响应结果类型ParameterizedTypeReference<Map<String, Object>> responseType =new ParameterizedTypeReference<Map<String, Object>>() {};// 远程访问application service。ResponseEntity<Map<String, Object>> response =template.exchange(builder.toString(), HttpMethod.GET,null, responseType);Map<String, Object> result = response.getBody();return result;}private Map<String, Object> saveFallback(User user){// 同步->异步,讲user封装成message消息,发送到RabbitMQ中。System.out.println("saveFallback方法执行:" + user);Map<String, Object> result = new HashMap<>();result.put("message", "服务器忙,请稍后重试!");return result;}
四、 请求缓存(Ribbon中)(不推荐)(查询频率高,修改频率低时谨慎使用)
请求缓存:通常意义上说,就是将同样的GET请求结果缓存起来,使用缓存机制(如redis、mongodb)提升请求响应效率。
使用请求缓存时,需要注意非幂等性操作对缓存数据的影响。
请求缓存是依托某一缓存服务来实现的。在案例中使用redis作为缓存服务器,那么可以使用spring-data-redis来实现redis的访问操作。
1 修改application service代码(增加get和post方法)
package com.bjsxt.userservice.controller;import com.bjsxt.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;import java.util.HashMap;
import java.util.Map;/*** 提供服务的控制器*/
@Controller
public class UserController {@GetMapping("/post")@ResponseBodypublic Map<String, Object> post(){System.out.println("post method run");Map<String, Object> result = new HashMap<>();result.put("message", "post方法执行成功");return result;}@GetMapping("/get")@ResponseBodypublic Map<String, Object> get(){System.out.println("get method run");Map<String, Object> result = new HashMap<>();result.put("message", "get方法执行成功");return result;}@RequestMapping("/user/save")@ResponseBodypublic Map<String, Object> save(User user){try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("新增用户数据: " + user);Map<String, Object> result = new HashMap<>();result.put("code", "200"); // 返回的状态码result.put("message", "新增用户成功"); // 返回的处理结果消息。return result;}
}
2 application client POM依赖添加
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>
3 application client 容错处理代码
package com.bjsxt.userclient.service.impl;import com.bjsxt.entity.User;
import com.bjsxt.userclient.service.UserService;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty;
import com.netflix.hystrix.contrib.javanica.conf.HystrixPropertiesManager;
import com.netflix.loadbalancer.RandomRule;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.loadbalancer.LoadBalancerClient;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;import java.util.HashMap;
import java.util.Map;/*** cacheNames - 可以实现缓存分组,是Hystrix做分组。* * @CacheConfig(cacheNames = "test_cache_names")* 在类上,增加@CacheConfig注解,用来描述当前类型可能使用cache缓存。* 如果使用缓存,则缓存数据的key的前缀是cacheNames。* cacheNames是用来定义一个缓存集的前缀命名的,相当于分组。*/
@Service
@CacheConfig(cacheNames = "test_cache_names")
public class UserServiceImpl implements UserService {@Autowiredprivate LoadBalancerClient loadBalancerClient;/*** 查询,只要路径和参数不变,理论上查询结果不变。可以缓存,提升查询效率。* @return*/@Cacheable("springcloud_cache")public Map<String, Object> get(){ServiceInstance instance = this.loadBalancerClient.choose("ribbon-app-service");StringBuilder builder = new StringBuilder("");builder.append("http://").append(instance.getHost()).append(":").append(instance.getPort()).append("/get");System.out.println(builder.toString());RestTemplate template = new RestTemplate();ParameterizedTypeReference<Map<String, Object>> type =new ParameterizedTypeReference<Map<String, Object>>() {};ResponseEntity<Map<String, Object>> responseEntity =template.exchange(builder.toString(), HttpMethod.GET, null, type);return responseEntity.getBody();}/*** 写操作,数据写操作执行后,缓存数据失效,应该清理缓存。* @return*/@CacheEvict("springcloud_cache")public Map<String, Object> post(){ServiceInstance instance = this.loadBalancerClient.choose("ribbon-app-service");StringBuilder builder = new StringBuilder("");builder.append("http://").append(instance.getHost()).append(":").append(instance.getPort()).append("/post");System.out.println(builder.toString());RestTemplate template = new RestTemplate();ParameterizedTypeReference<Map<String, Object>> type =new ParameterizedTypeReference<Map<String, Object>>() {};ResponseEntity<Map<String, Object>> responseEntity =template.exchange(builder.toString(), HttpMethod.GET, null, type);return responseEntity.getBody();}
}
4 application client 配置文件application.yml
server:port: 8082spring:application:name: ribbon-app-clientredis: # spring-data-redis配置信息host: 192.168.14.129 # 访问的redis地址, 默认localhostport: 6379 # redis的端口,默认6379database: 0 # 访问的redis的数据库编号, 默认0eureka:client:service-url:defaultZone:- http://localhost:8761/eureka/ribbon-app-service: # 远程访问这个命名的服务ribbon: # 底层Ribbon配置NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule # 就是具体的负载均衡策略类型全名# listOfServers: localhost:8080 # 多个地址用逗号分隔。hystrix: # 配置Hystrix相关信息command: # 配置HystrixCommand相关内容default: # 所有范围execution:timeout:enabled: true # 使用Hystrix作为超时判定机制isolation:thread:timeoutInMilliseconds: 1000 # 具体的超时时间
5 application client 启动类(加@EnableCaching注解)
package com.bjsxt.userclient;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;/*** EnableCircuitBreaker注解除了开启Hystrix容灾处理机制(扫描HystrixCommand注解)外,* 还会开启Hystrix相关的数据监控服务。*/
@SpringBootApplication
@EnableCircuitBreaker
@EnableCaching
public class RibbonAppClientApp {public static void main(String[] args) {SpringApplication.run(RibbonAppClientApp.class, args);}
}
五、 Openfeign的雪崩处理
在声明式远程服务调用Openfeign中,实现服务灾难性雪崩效应处理也是通过Hystrix实现的。而feign启动器spring-cloud-starter-openfeign中是包含Hystrix相关依赖的。如果只使用服务降级功能不需要做独立依赖。如果需要使用Hystrix其他服务容错能力,需要依赖spring-cloud-starter-netflix-hystrix资源。从Dalston版本后,feign默认关闭Hystrix支持。所以必须在全局配置文件中开启feign技术中的Hystrix支持。具体实现如下:
1 服务降级
1.1 POM依赖
Openfeign的启动器依赖spring-cloud-starter-openfeign中,自带Hystrix处理相关依赖,所以不需要修改POM依赖,直接通过配置即可开启容错处理机制。
1.2 application client 接口
package com.bjsxt.service;import com.bjsxt.service.impl.FirstClientServiceImpl;
import com.bjsxt.serviceapi.FirstServiceAPI;
import org.springframework.cloud.openfeign.FeignClient;/*** 注解属性fallback - 当前接口远程调用服务发生问题时,使用哪一个对象中的对应方法用于实现容错逻辑。* Openfeign技术中,容错处理是使用当前接口的实现类实现的。* 实现类中的方法实现,就是对应的容错fallback处理逻辑。*/
@FeignClient(name="openfeign-service", fallback = FirstClientServiceImpl.class)
public interface FirstClientService extends FirstServiceAPI {
}
1.3 application client 接口实现
package com.bjsxt.service.impl;import com.bjsxt.entity.User;
import com.bjsxt.service.FirstClientService;
import org.springframework.stereotype.Component;import java.util.Arrays;
import java.util.List;/*** 当前类型的实例必须由Spring容器管理,需要使用@Component注解描述。* 每个实现方法对应远程服务调用的容错处理逻辑。*/
@Component
public class FirstClientServiceImpl implements FirstClientService {@Overridepublic List<String> testFeign() {return Arrays.asList("Openfeign 返回托底数据");}@Overridepublic User getMultiParams(Integer id, String name) {User user = new User();user.setId(0);user.setUsername("托底数据");user.setRemark("getMultiParams");return user;}@Overridepublic User postMultiParams(Integer id, String name) {User user = new User();user.setId(0);user.setUsername("托底数据");user.setRemark("postMultiParams");return user;}@Overridepublic User postObjectParam(User pojo) {User user = new User();user.setId(0);user.setUsername("托底数据");user.setRemark("postObjectParam");return user;}
}
1.4 application client 配置文件application.yml
server:port: 8082spring:application:name: openfeign-clienteureka:client:service-url:- http://localhost:8761/eureka/
feign: # 开启feign技术中的Hystrix容错处理机制hystrix:enabled: truehystrix:command:default:execution:timeout:enable: trueisolation:thread:timeoutInMilliseconds: 1000
1.5 applicaiton client 启动类
package com.bjsxt;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;/*** @EnableCircuitBreaker - 在Openfeign开发的application client应用的启动类中,不需要使用此注解开启容错处理逻辑。* Openfeign的启动器spring-cloud-starter-openfeign中,依赖的是Hystrix相关jar包,不是完整的spring-cloud-starter-netflix-hystrix启动器。* 如果使用此注解,在启动的时候,会抛出ClassNotFoundException。*/
@SpringBootApplication
@EnableFeignClients(basePackages = "com.bjsxt.service")
public class OpenfeignClientApp {public static void main(String[] args) {SpringApplication.run(OpenfeignClientApp.class, args);}
}
2 服务熔断
在Openfeign技术中,服务熔断对代码和依赖没有其他任何要求,只需要增加对应的配置即可,具体配置如下:
server:port: 8082spring:application:name: openfeign-clienteureka:client:service-url:- http://localhost:8761/eureka/
feign:hystrix:enabled: truehystrix:command:default:execution:timeout:enable: trueisolation:thread:timeoutInMilliseconds: 1000fallback:enabled: true # 当远程调用失败或者请求被拒绝,是否会尝试调用fallback方法 。默认truecircuitBreaker: # 服务熔断(Circuit Breaker)相关配置属性enabled: true # 是否开启熔断器。默认truerequestVolumeThreshold: 20 # 默认20个;10s内请求数大于20个时就启动熔断器,当请求符合熔断条件时将触发fallback逻辑errorThresholdPercentage: 50 # 请求错误率大于50%时就熔断,然后for循环发起请求,当请求符合熔断条件时将触发sleepWindowInMilliseconds: 5000 # 默认5秒;熔断多少秒后去尝试请求forceOpen: false # 是否强制打开熔断器, 默认falseforceClosed: false # 是否强制关闭熔断器, 默认false
六、 可视化的数据监控Hystrix-dashboard
Hystrix Dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时间, 请求成功率等数据。
具体开启方式如下:
1 POM依赖
Hystrix Dashboard是针对Hystrix容错处理相关数据的监控工具。只要在使用了Hystrix技术的应用工程中导入对应依赖即可。注意:如果在Openfeign技术中开启Hystrix Dashboard监控,则需要将spring-cloud-starter-netflix-hystrix启动器导入POM文件,否则无法在启动类上使用@EnableCircuitBreaker注解。
<?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>cloudhystrix</artifactId><groupId>com.bjsxt</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>applicationclient</artifactId><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId></dependency></dependencies></project>
2 配置文件application.yml
server:port: 8082spring:application:name: application-clientredis:host: 192.168.89.129eureka:client:service-url:defaultZone:- http://localhost:8761/eureka/hystrix:command:default: # default全局有效,service id指定应用有效,如:application-serviceexecution:timeout:# 如果enabled设置为false,则请求超时交给ribbon控制,为true,则超时作为容错根据enabled: trueisolation:thread:timeoutInMilliseconds: 1000 # 超时时间,默认1000ms
management:endpoints:web:exposure:include: # 开启的actuator监控路径,默认开启info和health。其他需要手工增加,使用*代表开启所有监控路径。- info- health- hystrix.stream
3 启动类
package com.bjsxt;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;/*** @EnableCircuitBreaker - 开启Hystrix容错处理能力。* 如果不使用此注解,服务代码中的@HystrixCommand注解无效。* 且Hystrix相关监控数据无法收集。* @EnableCaching - 开启spring cloud对cache的支持。* 可以自动的使用请求缓存,访问redis等cache服务。* @EnableHystrixDashboard - 开启Hystrix Dashboard监控仪表盘。*/
@EnableHystrixDashboard
@EnableCaching
@SpringBootApplication
@EnableCircuitBreaker
public class ClientApp {public static void main(String[] args) {SpringApplication.run(ClientApp.class, args);}
}
4 访问Hystrix监控数据
通过浏览器访问提供监控访问路径的应用,具体地址为:
http://ip:port/actuator/hystrix.stream
得到的监控结果如下:
这种监控数据的获取都是JSON数据。且数据量级较大。不易于查看。可以使用Hystrix Dashboard提供的视图界面来观察监控结果。视图界面访问路径为: http://ip:port/hystrix。
进入后的监控视图界面具体含义如下:
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 精简版-Linux常用命令
目录 find 查找文件/目录 cd(change directory)切换目录 ls/dir(list)列出目录下文件 clear 清屏 dirs 显示目录记录 mv(move)移动或更名现有的文件或目录 pwd(print working directory&…...
2024/4/24 6:34:38 - shell脚本编写小程序
求1-100的加法,并输出1+2+3+4+5+6+7+…+100?#!/bin/bash sum=1 str=1 i=2 for (( i; i<=100; i++)) dostr=$str+$ilet sum+=i done echo $str=$sum因为‘+’不好处理,所以从2开始。 2.输入n个数字,判断最大最小值#!/bin/bash function myfun() {max=$1min=$1i=0for i in…...
2024/5/2 1:17:40 - 链表:头插法与尾插法(简易图解和代码)
头插法 定义:输入的数据次序生成的链表节点次序相反,例如:按1,2,3顺序进行头插之后,最终排序却变成了3,2,1。简而言之就是逆序插入。 定义图解: 代码图解: 代码:(使用头插法建立单…...
2024/5/2 1:13:24 - dedecms如何自动生成tag标签
由于智盟DEDECM无法自动生成标签,系统后台标签管理生成的标签实际上复制了关键字并将其插入标签中。因此,如果我们想自动生成一个标记,我们需要将关键字的值分配给该标记。 具体方法如下: 在管理目录(默认情况下为Dede…...
2024/4/24 5:26:21 - oracle忽然无法连接访问的处理方式
最近公司windows服务器上的oracle突然无法连接了,非常奇怪,然后折腾半天,最终恢复了一个快照版本,但时隔一月,,今天又忽然好好的无法访问了。 百度搜了很多资料,但我的数据实例照常启动没有什么…...
2024/4/27 0:40:11 - 深入浅出java虚拟机,JVM学习初篇,认识JDK
JDK技术体系 相信大家都有一段被JDK支配的恐惧,java学习之初配置环境变量的时候肯定特别懵逼,为什么要这所谓的JDK呢?JDK是什么呢? 我们可以把java程序设计语言、java虚拟机、java类库中三部分称为JDK(Java Development Kit)。 …...
2024/5/1 23:59:11 - 行业报告归档 2018.3.28
感谢 Boyka 整理这些报告。CBNData智能门锁行业研究报告Gitee 下载 Github 下载 SourceForge 下载DataEye2017年Q3移动游戏行业报告Gitee 下载 Github 下载 SourceForge 下载Emerging Trends in Infrastructure 2018Gitee 下载 Github 下载 SourceForge 下载IT互联网行业价值及…...
2024/4/23 17:54:02 - opencv-contrib配置过程
安装了opencv-contrib一直没有使用,今天试一试用opencv-contrib里面的识别ChArUco的功能,所以配置一下opencv-contrib 先看环境变量是否设置好:也就是bin文件夹的路径,因为我装了多个opencv所以会比较乱 打开项目之后,…...
2024/5/1 21:32:42 - 解决IE下不支持TextDecoder
1、首先需要下载模块包,使用npm install iconv-lite 2、在项目中引入iconv-lite import iconv from ‘iconv-lite’; const fileArr iconv.decode(resUserInfo, utf-8) console.log(, fileArr)...
2024/4/26 14:26:35 - ubuntu多屏幕 / 高分屏的分辨率配置
遇到的问题是当显示器一个是1080,一个是4k。 如果直接使用会遇到高分屏的分辨率问题,显示界面非常细腻,文字和图标过小。 首先尝试的是,用setting中的显示配置,调整scale。 但是,ubuntu不支持多屏幕有多个…...
2024/4/15 1:42:39 - burp抓取电脑微信小程序的数据包
第一步: 下载burp证书 双击安装 点击安装证书 点击下一步 点击下一步就完成安装了 然后打开ie浏览器设置如下 打开电脑微信->小程序,burp就能抓到微信小程序的包了。...
2024/4/16 20:00:10 - SpringMVC: ModelAndView的addObject方法
有两个方法: 一:addObject(String attributeName,Object attributeValue) 这个方法相当于request.setattribute,在页面上直接使用${attributeName}取值; 二:addObject(Object attributeValue) 这个方法比较复杂&am…...
2024/4/19 14:37:28 - ffmpeg常用操作
假设原视频为:demo.mp4 ffmpeg剪切视频 ffmpeg -i demo.mp4 -ss 10 -t 15 -codec copy cut.mp4或者 ffmpeg -i demo.mp4 -ss 00:00:10 -t 00:00:15 -codec copy cut.mp4参数: 参数名参数含义-isource(原视频)-ssstart time(开始时间)-tduration(截取…...
2024/5/1 23:54:39 - dedecms如何添加和部署php文件
前言: 有时候我们需要创建一些单独的PHP文件,但是随机放置的PHP文件无法编译智盟DEDECM的标签,所以我们需要介绍智盟标签的编译引擎方案。 例如,我们在根目录中创建example.php。 代码如下: 1 2 3 4 5 6 7 8 <span…...
2024/4/25 18:24:34 - 【OPENCV】基于python opencv将实景图转成鸟瞰图
建立图像坐标系与世界坐标系的对应关系,通过对图像模型进行逆透视变换,实现图像坐标系向世界坐标系的转换。 一 透视变换 一般来说,通用的图像变换公式如下所示: <...
2024/4/28 22:19:22 - 【docker】 docker load导入使用 docker save 命令导出的镜像
【docker】 docker load导入使用 docker save 命令导出的镜像 1、背景2、导入镜像的tar文件1、背景 export 和 import 导出的是一个容器的快照, 不是镜像本身, 也就是说没有 layer层, 即类似commit 信息会丢失。 快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时…...
2024/4/29 0:06:59 - 【剑指Offer】JZ24反转链表(C++)
题目地址:反转链表_牛客题霸_牛客网 题目: 描述 给定一个单链表的头结点pHead,长度为n,反转该链表后,返回新链表的表头。 数据范围: n\leq1000n≤1000 要求:空间复杂度 O(1)O(1) ࿰…...
2024/4/28 20:13:04 - 基于微信小程序的毕业设计实现(垃圾分类、商城等主题)
做了一个微信小程序垃圾分类毕业设计界面图如图: 源码太多就不展示了,喜欢的请加我微信要源码,我也可以帮你修改具体内容 微信:Yinzisang...
2024/4/28 16:58:08 - 选择排序--哦哦哦
啥也不是,先上链接:https://www.cnblogs.com/onepixel/articles/7674659.html 再上动图 后上代码:代码由简到繁 public static <E extends Comparable<E>> void sort(E[] data){for (int i0;i<data.length-1;i){//data[0...i…...
2024/4/28 2:48:48 - 271work MySQL学习 1 Does your girlfriend think you are a useless waste
能看懂这句话的意思吗 Does your girlfriend think you are a useless waste!!!??? 昨天听了一点点视频课程, 家事啊,家事小孩子处理,真的弄到11点多了都。 想着挺好,上午学习,结果这上午忙了一通业务࿰…...
2024/4/28 11:59:26
最新文章
- git revert的使用
由于某种原因我们需要撤销掉之前某一次的修改,但是这个修改已经提交,并且后面又经历了好几轮的提交。可能如下这种情况: 那么此时使用git revert再合适不过啦。git revert ${commit_id}就可以将指定commit id的修改撤销,然后提交…...
2024/5/2 2:35:26 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - Python中大的一把锁
今天可以来讲解下GIL是个什么了。 GIL为什么是Python中大的一把锁? GIL是Global Interpreter Lock的缩写,翻译过来就是全局解释器锁。 从字面上去理解,它就是锁在解释器头上的一把锁,它使Python代码运行变得有序。 假如有一段…...
2024/4/29 23:30:40 - 同一个pdf在windows和linux中的页数不一样
之前认为PDF的格式,至少页数是不会变化的,结果最近发现一个文档在windows和linux中的页数不一样,linux中的pdf进入像word一样排版变得紧凑了,原本在下一页的几行进入了上一页的末尾。问了gpt后得到这样的回答: PDF文档…...
2024/4/30 1:35:16 - app上架-您的应用存在最近任务列表隐藏风险活动的行为,不符合华为应用市场审核标准。
上架提示 您的应用存在最近任务列表隐藏风险活动的行为,不符合华为应用市场审核标准。 修改建议:请参考测试结果进行修改。 请参考《审核指南》第2.19相关审核要求:https://developer.huawei.com/consumer/cn/doc/app/50104-02 造成原因 …...
2024/4/30 14:09:35 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/1 17:30:59 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/30 18:14:14 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/29 2:29:43 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/30 18:21:48 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/30 9:43:09 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/25 18:39:16 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/29 20:46:55 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/30 22:21:04 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/1 4:32:01 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/27 23:24:42 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/30 9:42:22 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/30 9:43:22 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/30 9:42:49 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57