+-
SpringCloud学习04

Feign集成Hystrix

Feign默认不启用Hystrix,不推荐启用Hystrix(后面在分析)

启用Mystrix基础配置:

1.Hystrix起步依赖
2.yml中配置启用hystrix

feign.hystrix.enabled=true

3.启动类添加注解@EnableCircuitBreaker

添加降级代码:

@FeignClient(name="item-service",fallback=降级类.class)
public interface ItemClient(){
    @GetMapping("/{orderId}")
    JsonResult<List<Item>> getItems(@PathVariable String orderId);
}

降级类需要实现声明式客户端接口,在实现的抽象方法中添加降级代码
降级类需要添加@Component注解

Feign集成Hystrix,添加监控

1.添加actuator依赖
2暴露hystrix.stream监控端点
3.查看监控日志
    1.重启09
    2.访问http://localhost:3001/actuator/

订单中添加feign,调用商品和用户

1.添加依赖
    feign
    hystrix
2.yml
    feign.hystrix.enabled=true
    m.e.w.e.i=hystrix.stream
3.启动类注解
    @EnableFeignClients
    @EnableCircuitBreaker

Turbine

聚合Hystrix监控数据
连接多台服务器,抓取日志数据,进行聚合,
交给仪表盘在同一个监控界面进行展现

搭建Turbine服务

1.添加Turbine依赖
2.yml配置
    聚合的服务id: order-service,aa,bb,cc
    为聚合的监控数据命名: cluster-name=new String("abc")
3.启动类添加注解 @EnableTurbine

消息服务器

分布式系统中广泛应用消息服务

消息服务器:
    rabbitmq
    activemq
    rocketmq
    tubemq