码迷,mamicode.com
首页 > 编程语言 > 详细

干货分享微服务spring-cloud(4.负载均衡ribbon与熔断器hystrix)

时间:2018-02-13 15:44:33      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:alt   和我   ace   调用   启动   分享   one   gif   static   

Ribbon是一个基于httptcp的客户端负载均衡工具

Hystrix具备服务降级、服务熔断、线程和信号隔离、请求缓存、请求合并以及服务监控

为了方便消费者负载均衡效果,复制demo-springcloud-client1并重名为demo-springcloud-client2,修改配置文件和启动类,服务提供者12服务名均为spring.application.name=demo-springcloud-client

 

技术分享图片

技术分享图片

 修改YhqContoller实现,为了方便负载均衡观察效果,demo-springcloud-client2项目返回字符串client2

技术分享图片

创建消费者项目demo-springcloud-restTemplate-consumer,创建启动类RestTemplateApplication,@EnableDiscoveryClient启动服务发现和注册自动配置,以便能够发现前面注册的服务提供者demo-springcloud-client1和demo-springcloud-client2。@EnableCircuitBreaker开启熔断器自动配置

技术分享图片

创建负载平衡RestTemplate,@Bean并使用@LoadBalanced限定符。如果没有spring-cloud-starter-ribbon依赖,@LoadBalanced的负载均衡轮询算法将不会生效。使用spring-cloud-starter-eureka依赖,ribbon服务发现将交由Eureka提供。添加熔断器依赖spring-cloud-starter-hystrix

技术分享图片

创建YhqController提供rest服务restTemplateConsumer来消费之前的服务1和2,

技术分享图片

服务通过注入的YhqService的RestTemplate对象负载均衡调用我们的服务提供者demo-springcloud-client1和demo-springcloud-client2

 

技术分享图片

启动注册中心,启动服务提供者1和2,启动消费者demo-springcloud-restTemplate-consumer,浏览器访问http://localhost:3331/restTemplateConsumer返回的字符串client1和client2交替出现,这是因为负载均衡轮询的效果。

技术分享图片

技术分享图片技术分享图片

熔断器Hystrix使用fallback命令执行失败时使用的后备方法,用来实现服务的降级处理逻辑。这时关闭服务提供者demo-springcloud-client2,浏览器访问http://localhost:3331/restTemplateConsumer返回的字符串client1和我是降级逻辑交替出现

 

技术分享图片

技术分享图片              

当通过注解方法实现熔断器时,通过使用@HystrixCommand的commandProperties来设置属性值,例如设置fallback.enabled

技术分享图片

干货分享微服务spring-cloud(4.负载均衡ribbon与熔断器hystrix)

标签:alt   和我   ace   调用   启动   分享   one   gif   static   

原文地址:http://blog.51cto.com/11290909/2071518

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!