微服务调用介绍
一,SpringCloud微服务之间调用的方式有那些?
1,Ribbon调用服务实现
1),调用者(order-service)启动类更改。
2),服务提供者(customer-service)接口提供
3),服务调用实现
2,Feign调用服务实现
2),在消费端添加FeignClient接口服务
在集成hystrix前fallback可以不配,我这里配的fallback类如下:
3),服务调用实现
二,实际项目中Feign和Ribbon怎么选择?
在实际项目中,到底用Feign还是Ribbon实现调用呢?这个只要掌握区别的你就清楚了。答案肯定是选择feign。
理由:feign默认集成了ribbon,写起来更加思路清晰和方便。它还采用注解方式进行配置,配置熔断等方式方便。
三,什么是Hystrix,它能干什么?
保护和控制调用第三方客户端库的依赖(通常是通过网络)的延迟和失败。
防止复杂分布式系统中的级联故障。
快速失败和快速恢复。
回退(配置回退方法)并尽可能优雅降级。
启用近实时监视、警报和操作控制。
四,Feign中如何使用熔断器Hystrix?
熔断的fallback:
测试Controller:
启动服务测试:
服务正常,能从提供者服务中获取信息。
那我们在测试下熔断的效果,在修改提供者接口如下:
重启提供者服务,然后测试:
此刻,我们发现没有获取提供者信息。看看调用者服务日志
今天的就说到这里,目前服务的注册于发现、服务的调用/熔断基础已经说完了,接下来我会以实战的形式演示如何编写代码,并继续接入网关等服务。如有小伙伴有不明白或要指点、学习交流的,请关注公众号,找到“关于我“ 添加个人微信交流,我将与你无所不谈。
下期预期:SpringCloud微服务实战系列,实战及网关搭建配置。
SpringCloud微服务项目实战,服务注册与发现(附面试题)
Spring Cloud微服务项目实战--Eureka服务搭建
扫码关注公众号,发送关键词获取相关资料:
发“Springboot”领取电商项目实战源码;
发“SpringCloud”领取学习实战资料;