fusible de resorte-primavera y equilibrio de carga

1. Fusible de servicio significa que otro servicio llamado por el servicio actual terminará directamente la llamada y llamará a otro método en espera directamente cuando la respuesta agote el tiempo, llamada degradación del servicio.

Clase de configuración

@Configuration
 public  class HystrixConfig { 

    @Bean 
    public ServletRegistrationBean getServlet () { 
        HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet (); 
        ServletRegistrationBean RegistrationBean = nuevo ServletRegistrationBean (streamServlet); 
        RegistrationBean.setLoadOnStartup ( 1 ); 
        RegistrationBean.addUrlMappings ( "/hystrix.stream" ); 
        RegistrationBean.setName ( "HystrixMetricsStreamServlet" );
        volver registroBean; 
    } 
}

Servicio

@Service 
@ Slf4j 
clase pública  EurekaRibbonService { 
    @Autowired 
    RestTemplate restTemplate; 
    @HystrixCommand ( 
            commandProperties = { 
            @HystrixProperty (name = " execute.isolation.thread.timeoutInMilliseconds ", value = "1000" ), 
            @HystrixProperty (name = " execute.isolation.strategy ", value = "THREAD" )}, 
            fallbackMethod = "syaHelloFailure" )
     public String sayHello () { 
        Mensaje de cadena; 
        mensaje = restTemplate.getForObject ("http:


clase ); mensaje de retorno ; } public String syaHelloFailure () { return "error"; } }

 

Agregue la anotación @EnableHystrix a la clase de inicio.

 

2. Equilibrio de carga

El equilibrio de carga Spring-Cloud se realiza en el cliente

Reglas de equilibrio de carga:

NFLoadBalancerRuleClassName: configuración aleatoria com.netflix.loadbalancer.RandomRule # gobierna 
NFLoadBalancerRuleClassName: configuración com.netflix.loadbalancer.RoundRobinRule # sondeo gobierna
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RetryRule # regla de configuración de reintento
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.WeightedResponseTimeRule

#Configurar el tiempo de respuesta de la regla cinta de peso
@Configuration
 public  class RestTemplateConfig { 

    @Bean 
    @LoadBalanced // Realice el equilibrio de carga 
    public RestTemplate restTemplate () {
         return  new RestTemplate (); 
    } 

}

Archivo de configuración

eureka- client: # La 
  cinta de nombre del cliente de servicio correspondiente : 
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule

Si usa el método fingir, solo necesita configurar el archivo yml.

 

Supongo que te gusta

Origin www.cnblogs.com/yangyang12138/p/12670901.html
Recomendado
Clasificación