这里是修真院后端小课堂,每篇分享文从
【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】
八个方面深度解析后端知识/技能,本篇分享的是:
【springboot和redis整合。】
大家好,我是IT修真院深圳分院第十三期学员,一枚正直纯洁善良的JAVA程序员。 今天给大家分享一下,修真院官网JAVA任务四里面的一个扩展:springboot和redis整合。
1 背景介绍 1.1 Springcloud Feign是什么?
Feign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单,它的使用方法就是定义一个接口,然后在上面添加注解,同时也支持JAX-RS标准的注解。Feign也支持可插拔式的编码器和解码器。SpringCloud对Feign进行了封装,使其支持了Spring MVC标准注解和HttpMessageConverters。Feign可以与Eureka和Ribbon组合使用以支持负载均衡。
1.2 Hystrix是什么?
Hystrix是由Netflix开源的一个服务隔离组件,通过服务隔离来避免由于依赖延迟、异常,引起资源耗尽导致系统不可用的解决方案。
在分布式系统,我们一定会依赖各种服务,那么这些个服务一定会出现失败的情况,Hystrix就是这样的一个工具,它通过提供了逻辑上延时和错误容忍的解决力来协助我们完成分布式系统的交互。Hystrix 通过分离服务的调用点,阻止错误在各个系统的传播,并且提供了错误回调机制,这一系列的措施提高了系统的整体服务弹性。
2 知识剖析
2.1 Feign有什么特点:
1、可插拔的注解支持,包括Feign注解和JAX-RS注解。
2、支持可插拔的HTTP编码器和解码器
3、支持Hystrix和它的Fallback
5、支持HTTP请求和响应的压缩
2.2 Hystrix的作用: 1、保护系统间的调用延时以及错误,特别是通过第三方的工具的网络调用
2、阻止错误在分布式系统之前的传播
3、快速失败和迅速恢复
4、错误回退和优雅的服务降级
3.常见问题
如何在Feign中配置相应的Ribbon负载均衡策略
4 解决方案
eureka-client: ribbon: NFLoadBalancerRuleClassName: com.netflix.loadbalancer.WeightedResponseTimeRule
5.编码实战
6.扩展思考
7.参考文献 CSDN、百度百科
8 更多讨论 1、如何在Feign中使用Hystrix? 由于Feign中Hystrix并不是默认启动的。所以首先我们要在配置中配置:
true
接着在Feign注解中使用fallback:
(= = FeignConfig.= HiHystrix.) EurekaClientFeign { (= ) String ((= ) String name)}
并定义相应的fallback返回:
HiHystrix EurekaClientFeign { String (String name) { +name+} }
2、如何配置Feign的重试机制:
FeignConfig { Retryer (){ Retryer.Default(.toMillis())} }
3、Feign和Ribbon+RestTemplate的区别?
在使用Ribbon+RestTemplate的时候,利用RestTemplate对http请求进行封装,形成一套模板化调用方式。但是在实际应用中,
由于对服务的依赖调用可能不止一处,往往一个接口会被多次调用,所以通常会针对一个微服务来封装一些客户端类来包装服
务调用。所以Feign在此之上进行了封装,由他来帮助我们定义和实现依赖接口的定义。在Feign下,我们只需要一个注解,就
能够完成服务的调用,简化了使用Springboot Ribbon的繁琐。
技能树.IT修真院
“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。
这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。
更多内容,可以加入IT交流群565734203与大家一起讨论交流
这里是技能树·IT修真院:nofollow">https://www.jnshu.com,初学者转行到互联网的聚集地
原文链接:https://www.f2er.com/springboot/67534.html