干货分享微服务spring-cloud(4.负载均衡ribbon与熔断器hystrix)
2018-02-13 15:14
1121 查看
Ribbon是一个基于http和tcp的客户端负载均衡工具
Hystrix具备服务降级、服务熔断、线程和信号隔离、请求缓存、请求合并以及服务监控
为了方便消费者负载均衡效果,复制demo-springcloud-client1并重名为demo-springcloud-client2,修改配置文件和启动类,服务提供者1和2服务名均为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
Hystrix具备服务降级、服务熔断、线程和信号隔离、请求缓存、请求合并以及服务监控
为了方便消费者负载均衡效果,复制demo-springcloud-client1并重名为demo-springcloud-client2,修改配置文件和启动类,服务提供者1和2服务名均为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(5.声明式服务调用feign)
- spring cloud快速入门教程(五)进程间调用和微服务负载均衡(RestTemplate+Ribbon)
- spring cloud之服务调用及使用ribbon实现负载均衡(三)
- springcloud微服务实战:Eureka+Zuul+Feign/Ribbon+Hystrix Turbine+SpringConfig+sleuth+zipkin
- 服务注册发现Eureka之三:Spring Cloud Ribbon实现客户端负载均衡(客户端负载均衡Ribbon之三:使用Ribbon实现客户端的均衡负载)
- 干货分享微服务spring-cloud(6.Api网关服务zuul)
- 【微服务】之四:轻松搞定SpringCloud微服务-负载均衡Ribbon
- Spring Cloud微服务(4)之Ribbon客户端负载均衡
- 干货分享微服务spring-cloud(1.初探)
- 干货分享微服务spring-cloud(7.配置中心spring-cloud-config)
- 干货分享微服务spring-cloud(8.服务治理和配置中心spring-cloud-zk)
- 干货分享微服务spring-cloud(2.概览)
- 干货分享微服务spring-cloud(3.服务治理eureka)
- SpringCloud 笔记 (二)---- 简单搭建一个服务消费者,实现简单的ribbon负载均衡
- 【Spring Cloud】Ribbon负载均衡
- Spring Cloud(服务的消费者 ribbon+restTemplate)
- SPRINGCLOUD(EUREKA+RIBBON+FEIGN+HYSTRIX)
- 微服务框架Spring Cloud介绍 Part5: 在微服务系统中使用Hystrix, Hystrix Dashboard与Turbine
- Spring Cloud学习:02服务消费者(Ribbon&Feign)
- 企业分布式微服务云架构技术分享 Spring Cloud + Spring Boot + Mybatis + shiro + RestFul + 微服务