SpringCloud项目(七):OpenFeign

一、OpenFeign介绍

OpenFeign包含了LoadBalance的相关功能。集成了LoadBalance。也是客户端的组件,主要完成微服务之间的调用和负载均衡。它使得Web服务客户端变得容易,只需要创建接口并对其进行注释。
在这里插入图片描述

二、OpenFeign用法

在服务消费者和服务提供者之间加一个接口,解耦合。
在这里插入图片描述
为避免和80混淆,新建一个微服务。

新建一个微服务

a

在这里插入图片描述

b

在这里插入图片描述
在这里插入图片描述

c 业务类

在这里插入图片描述
客户端feign80—>公用api—>服务端8001 8002

d 修改cloud-api-commons

在这里插入图片描述
支付微服务的Feign接口:

80 通过 PayFeignApi 的/pay/add 调用 8001 的/pay/add
在这里插入图片描述
在这里插入图片描述
PayController中是微服务8001的接口。 PayFeignApi 中是8001对外暴露的服务清单(url相同即可)。

e 拷贝之前的80工程

f 修改Controller层的调用

因为OrderController是含有Feign的,所以不再调用service层,直接调用支付。

订单调用支付

Feign80端
在这里插入图片描述
在这里插入图片描述

测试

在这里插入图片描述

三、OpenFeign的高级特性

1、OpenFeign的超时控制

在这里插入图片描述
在Spring Cloud微服务架构中,大部分公司都是利用OpenFeign进行服务间的调用,而比较简单的业务使用默认配置是不会有多大问题的,但是如果是业务比较复杂,服务要进行比较繁杂的业务计算,那后台很有可能会出现Read Timeout这个异常,因此定制化配置超时时间就有必要了。

  • 自己写bug,测试出feign的默认调用超时时间
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    结论:OpenFeign默认等待60秒,超过后报错。
    注意!要把8002服务关掉,只开启8001, 否则就会成功,因为8002没有设置62秒的延时。而且8001 8002是交替提供服务的。

在这里插入图片描述
全局与局部同时出现,听局部的。

2、OpenFeign的重试机制

重试机制默认是关闭的。
在这里插入图片描述

3、OpenFeign默认HttpClient修改

用Apache HttpClient5替换 OpenFeign默认的HttpURLConnection,性能更好。
在这里插入图片描述

4、OpenFeign的请求/响应压缩

在这里插入图片描述

5、OpenFeign的日志打印功能

在这里插入图片描述
在这里插入图片描述

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值