springboot和redis整合。

这里是修真院后端小课堂,每篇分享文从

八个方面深度解析后端知识/技能,本篇分享的是:

【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

4、支持Ribbon的负载均衡

5、支持HTTP请求和响应的压缩

2.2 Hystrix的作用:
1、保护系统间的调用延时以及错误,特别是通过第三方的工具的网络调用

2、阻止错误在分布式系统之前的传播

3、快速失败和迅速恢复

4、错误回退和优雅的服务降级

3.常见问题

如何在Feign中配置相应的Ribbon负载均衡策略

4 解决方案

在springcloud client的配置文件中添加:

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的繁琐。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值