Spring Cloud 的常用注解

  1. @EnableDiscoveryClient、@EnableEurekaClient异同

共同点:都是能够让注册中心能够发现,扫描到该服务;
不同点:@EnableEurekaClient只适用于Eureka作为注册中心, @EnableDiscoveryClient可以是其他注册中心。

  1. @FeignClient
@FeignClient(name = "CLOUD-PROVIDER-HYSTRIX-PAYMENT", configuration = xxxx.class, fallback = PaymentHystrixService.class)

*客户端直接调用目标服务方法(非通过ribbon+restTemplate),自定义配置类xxxx.class(负载均衡策略、日志等配置)不能被@ComponentScan扫描到;
*该注解配合@EnableFeignClients激活使用;
*注解内属性fallback指定服务降级fallback的承载类,该类实现了@FeignClient所标注的接口,其中fallback方法根据方法名一一对应。

  1. @HystrixCommand
@HystrixCommand(fallbackMethod = "paymentInfo_TimeoutHandler", commandProperties = {
            //设置自身调用的超时时间峰值,峰值内可以正常运行,超过了需要由兜底的方法处理,作服务降级fallback
            @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "3000")
})

*@HystrixCommand 需要配合 @EnableCircuitBreaker 或者 @EnableHystrix 激活使用;
*尽管配置了热部署,在对@HystrixCommand内属性的修改建议重启微服务;
*既作用在服务端 也可以作用在客户端。

  1. @EnableHystrix、@EnableCircuitBreaker

@EnableHystrix、@EnableCircuitBreaker 启用熔断降级服务。

  1. @DefaultProperties
@DefaultProperties(defaultFallback = "paymentGlobalFallbackMethod")

*此注解用于指定通用的FallBack方法,属于统一错误处理方法,应当适用所有服务调用发放的错误调用,因此此种方式默认调用空参FallBack方法,所以改FallBack方法的参数列表为空参即可;
*此注解的【作用范围】仅为注解本身所标注的类中。

  1. @SpringCloudApplication

由于一个标准的springcloud项目必然有@EnableCircuitBreaker、@EnableDiscoveryClient、@SpringBootApplication

因此可以使用@SpringCloudApplication替代上述3条注解。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值