赞
踩
Sentinel是⼀个⾯向云原⽣微服务的流量控制、熔断降级组件。替代Hystrix,针对问题:服务雪崩、服务降级、服务熔断、服务限流
Hystrix:
服务消费者(⾃动投递微服务) > 调⽤服务提供者(简历微服务)在调⽤⽅引⼊Hystrix > 单独搞了⼀个Dashboard项⽬ > Turbine
1)⾃⼰搭建监控平台 dashboard
2)没有提供UI界⾯进⾏服务熔断、服务降级等配置(⽽是写代码,⼊侵了我们源程序环境)
Sentinel:
1)独⽴可部署Dashboard/控制台组件
2)减少代码开发,通过UI界⾯配置即可完成细粒度控制(⾃动投递微服务)
Sentinel 的主要特性:
Sentinel 的开源⽣态:
https://github.com/alibaba/Sentinel/releases
java -jar sentinel-dashboard-1.7.1.jar &
sentinel/sentinel
在我们已有的业务场景中,“⾃动投递微服务”调⽤了“简历微服务”,我们在⾃动投递微服务进⾏的熔断降级等控制,那么接下来我们改造⾃动投递微服务,引⼊Sentinel
核⼼包。
为了不污染之前的代码,复制⼀个⾃动投递微服务 service-auto-deliver-8094
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-sentinel</artifactId>
</dependency>
server: port: 8094 service-resume: ribbon: # 请求连接超时时间 ConnectTimeout: 2000 # 请求处理超时时间 Feign超时时长设置 ReadTimeout: 13000 # 对所有操作都进行重试 OkToRetryOnAllOperations: true # 根据如上配置,当访问到故障请求的时候,它会再尝试访问一次当前实例(次数由MaxAutoRetries配置), # 如果不行,就换一个实例进行访问,如果还不行,再换一次实例访问(更换次数由MaxAutoRetriesNextServer配置), # 如果依然不行,返回失败信息。 MaxAutoRetries: 0 # 对当前选中实例重试次数,不包括第一次调用 MaxAutoRetriesNextServer: 0 # 切换实例的重试次数 NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RoundRobinRule # 负载策略调整 logging: level: com.study.service.ResumeFeignClient: debug spring: cloud: nacos: discovery: server-addr: 127.0.0.1:8848 sentinel: transport: dashboard: 127.0.0.1:8080 # sentinel dashboard/console地址
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。